Javascript 如何删除在jQuery中作为对象属性传递的事件处理程序?

Javascript 如何删除在jQuery中作为对象属性传递的事件处理程序?,javascript,jquery,javascript-events,Javascript,Jquery,Javascript Events,我正在使用一个不能直接修改的插件,但是我想从这个插件所连接的DOM元素中删除一些事件处理程序 该插件执行以下操作: var openOnClick = function() { $('#selector').on({ click: function(e) { e.preventDefault(); plugin.showPanel($(this)); } }) }; 它随后调用openOnClick

我正在使用一个不能直接修改的插件,但是我想从这个插件所连接的DOM元素中删除一些事件处理程序

该插件执行以下操作:

var openOnClick = function() {
    $('#selector').on({
        click: function(e) {
            e.preventDefault();
            plugin.showPanel($(this));
        }
    })
};
它随后调用
openOnClick()

我想完全删除此事件。我尝试了
$(“#选择器”)。关闭('click')
,但这不起作用。我认为这是因为它不仅仅是附加到
#选择器的一个简单的
'click'
事件。 我可以选择什么方法来摆脱此事件?

您是否尝试过

e.stopPropagation()
或者只是一个

return false;

在单击处理程序函数体中?

返回false可以做到这一点。“我想完全删除此事件。我尝试了
$(“#选择器”)。关闭('click')
,但这不起作用。”如果在插件完成问题中显示的附件后运行它,就可以了。因此,如果它不起作用,就会有其他事情发生。“我认为这是因为它不仅仅是一个简单的
'click'
事件附加到
#selector
”是的,它是.T.J。克劳德。你是对的。我的问题是,我试图在添加处理程序之前将其删除。你的评论应该是可以接受的答案。这确实是一个简单的点击事件。