Как я могу включить эту функцию при щелчке правой кнопкой мыши в Jeditable?

#asp.net #jeditable

#asp.net #настраиваемая

Вопрос:

Как я могу включить эту функцию при щелчке правой кнопкой мыши?

По умолчанию он работает при щелчке левой кнопкой мыши, затем появляется выпадающий список, в то время как я хочу, чтобы этот выпадающий список отображался при щелчке правой кнопкой мыши, есть ли какой-нибудь способ изменить это поведение по умолчанию?

  $(".editable_select").editable("http://www.appelsiini.net/projects/jeditable/php/save.php", {
        indicator: '<img src="img/indicator.gif">',
        data: "{'Lorem ipsum':'Lorem ipsum','Ipsum dolor':'Ipsum dolor','Dolor sit':'Dolor sit'}",
        type: "select",
        submit: "OK",
        style: "inherit",
        submitdata: function () {
            return { id: 2 };
        }
 

вы можете увидеть больше отсюда, http://www.appelsiini.net/projects/jeditable/default.html

найдите встроенный select.

Ответ №1:

Вы хотите включить jEditable только при щелчке правой кнопкой мыши. Вы можете добиться этого, выполнив три шага:

  1. обнаружение щелчков правой кнопкой мыши
  2. включить jEditable в обработчике событий
  3. отключить jEditable после завершения редактирования

Должно работать что-то вроде следующего:

 $('#editable').mousedown(function(event) {
    if (event.which != 3) return;
    event.preventDefault();

    $(this).editable('url', {
        ...
        type: "select",
        onreset: function() {
            this.parent().editable('destroy');
        }
    }).click();
});
 

Посмотрите это в действии: http://jsfiddle.net/william/2wBEW /.

В этом примере я использовал oncontextmenu="return false" , чтобы запретить контекстное меню по умолчанию при щелчке правой кнопкой мыши. Обратите внимание, что это нестандартно и не может работать во всех браузерах.