Ovi*_*Ovi 5 javascript browser jquery events
我想知道是否可以这样做:
在我的网站中,我使用了很多jQuery插件来激发我不知道的不同事件.
有没有办法 - 程序,浏览器插件或其他东西 - 我可以浏览网站并获得每次点击触发的确切javascript事件列表?
例如,我有一个jQuery插件,当我右键单击任何元素时,自定义contextMenu显示,然后当我点击其中一个选项时,其他事情就出现了.我需要确切地知道Javascript基本事件被触发了:
$('input:submit, button:submit').rightClick(function (e) {
$(this).contextMenu('contextMenuInput', {
'Capture This': {
click: function (element) { // element is the jquery obj clicked on when context menu launched
doSomething();
},
klass: "kgo" // a custom css class for this menu item (usable for styling)
},
'Create List': {
click: function (element) {
},
klass: "kfilter kdisabled"
},
'Collect Data': {
click: function (element) {
},
klass: "kcapture kdisabled"
}
},
{ disable_native_context_menu: true }
);
});
Run Code Online (Sandbox Code Playgroud)
有谁有想法吗?
您可以使用以下代码来显示当前绑定的事件......
这是使用此代码的示例: http: //jsfiddle.net/manseuk/CNjs3/
(function($) {
$.eventReport = function(selector, root) {
var s = [];
$(selector || '*', root).andSelf().each(function() {
var e = $.data(this, 'events');
if(!e) return;
s.push(this.tagName);
if(this.id) s.push('#', this.id);
if(this.className) s.push('.', this.className);
for(var p in e) s.push('\n', p);
s.push('\n\n');
});
return s.join('');
}
$.fn.eventReport = function(selector) {
return $.eventReport(selector, this);
}
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
像这样使用它 ->
// all events
alert($.eventReport());
// just events on inputs
alert($.eventReport('input'));
// just events assigned to this element
alert($.eventReport('#myelement'));
// events assigned to inputs in this element
alert($.eventReport('input', '#myelement'));
alert($('#myelement').eventReport('input')); // same result
// just events assigned to this element's children
alert($('#myelement').eventReport());
alert($.eventReport('*', '#myelement'); // same result
Run Code Online (Sandbox Code Playgroud)
如果您想查看与这些事件绑定的内容,这是一个很好的工具 -> http://www.sprymedia.co.uk/article/Visual+Event