0

我以这些方式使用 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() 进行了多次尝试之后,我终于发现问题不在于对话框的 hide() 和 show(),而在于右键单击上下文菜单。

问题:

当我第一次点击右键单击“添加”时,它插入一条记录,当我第二次点击它时,它插入了两次相同的记录,第三次插入了 3 次相同的记录。

这里实际上是第二次,即使我没有点击更新按钮它进入它,

问题在于右键,它计算右键单击并进入更新按钮的点击次数,我应该如何限制它进入第二次/第三次更新点击

4

1 回答 1

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');
        }
    }
});
于 2013-07-22T05:34:22.370 回答