2013-07-22 6 views
0

Иам с помощью контекстного меню Jquery в этих пути ..,контекстное меню правой кнопкой мыши - Jquery

function ApplyContextMenu() { 
$.contextMenu({ 
    selector: '.pnlAccordion h3', 
    callback: function (key, options) { 
     ContextMenuAction(key, options, $(this)); 
    }, 
    items: { 
     "Add": { name: "Add Port", icon: "add" }, 
     "Edit": { name: "Edit Port", icon: "edit" }, 
    } 

}); 
} 
    function ContextMenuAction(key, options, $Port) { 

      $(".dialogADD").dialog('open'); 
    if (key == "Add") { 
    $(".dialogADD").dialog({ 
     height: 238, 
     width: 465, 
     resizable: false, 
     title: "Add Ports" 

    }); 

     $(".imgbtnUpdateContext").click(function() { 

      //Ajax Call Does action 
      success: function (JSONData) { 
        try { 
         $(".dialogADD").dialog('close'); 
         } 
    } 
     }); 

Здесь после многих испытаний на этой шкурой() и шоу() диалога, я наконец-то нашел, что проблема заключается в не для hide() и show() диалога, а в контекстном меню правой кнопкой мыши.

ПРОБЛЕМА:

Когда я ударил правой кнопкой мыши, как «ADD» в первый раз его вставляя одну запись , когда я ударил его во второй раз его вставив два раза тот же рекорд, третий раз в 3 раза же запись.

Здесь на самом деле во второй раз, даже если я не ударил кнопку обновления его попадание в него,

проблемы находится на правой кнопке мыши, его подсчет количество кликов на правой кнопке мыши и ввод в кнопку Update, Как я могу ограничить его при вводе в Update click во второй раз/в третий раз

ответ

0

Используйте event.preventDefault(), который по вызову, действие по умолчанию для события не будет инициировано.

связать Также ваше событие щелчка, используя .on('click', function()) обработчик

$(".imgbtnUpdateContext").on('click', function (e) {  
    //Ajax Call Does action 
    success: function (JSONData) { 
     try { 
      $(".dialogADD").dialog('close'); 
     } 
    }   
    e.preventDefault(); 
}); 

Обновление:

$(".imgbtnUpdateContext").unbind("click").click(function() { 
    //Ajax Call Does action 
    success: function (JSONData) { 
     try { 
      $(".dialogADD").dialog('close'); 
     } 
    } 
}); 
+0

STILL его же ... –

+0

@ думать, а 'e.preventDefault()' попробуйте использовать 'e.stopImmediatePropagation()'. – Praveen

+0

Я не понимаю, но все еще щелкаю его второй раз дает 2 вставки ...... –

Смежные вопросы