Javascript 使用jquery从HTML元素检测事件
我有一个遗留代码,它类似于Javascript 使用jquery从HTML元素检测事件,javascript,jquery,html,Javascript,Jquery,Html,我有一个遗留代码,它类似于 <a href='#' onclick="javascript:Domystuff(); return false;"> Some text<a> 一些文本 我在网站中添加了一个jQuery用于其他目的,现在我想检测给定的标记是否有“onclick”事件可用。但我不知道该怎么做。我看到大多数人建议使用$(“a”).data('events'),但这对我不起作用,而且总是给出未定义的。但是,当我调用$(“a”).click()时,它会执行Do
<a href='#' onclick="javascript:Domystuff(); return false;"> Some text<a>
一些文本
我在网站中添加了一个jQuery用于其他目的,现在我想检测给定的标记是否有“onclick”事件可用。但我不知道该怎么做。我看到大多数人建议使用$(“a”).data('events')
,但这对我不起作用,而且总是给出未定义的。但是,当我调用$(“a”).click()
时,它会执行Domystuff()
函数
知道我如何检测像HTML属性事件一样的onclick
或onchange
或onblur
是否存在吗
编辑:我忘了提到,我不只是想检测属性中的所有事件,而是希望元素上的所有事件用于单击、模糊或更改。希望我现在说清楚。谢谢试试这样的
if ($('a').attr("onClick") != undefined) {}
试试这样的
if ($('a').attr("onClick") != undefined) {}
试试这样的
if ($('a').attr("onClick") != undefined) {}
试试这样的
if ($('a').attr("onClick") != undefined) {}
毕竟,即使EventHandler也是HTML属性。
但是,这不会检测jQuery附加的EventHandler,因此:
var ahrefs = $('a');
for(var i = 0;i < ahrefs.length;i++) {
var node = ahrefs.get(i);
if(typeof node.onClick == function) { // has an attached event handler
}
}
var ahrefs=$('a');
对于(变量i=0;i
很简单,不是吗
毕竟,即使EventHandler也是HTML属性。
但是,这不会检测jQuery附加的EventHandler,因此:
var ahrefs = $('a');
for(var i = 0;i < ahrefs.length;i++) {
var node = ahrefs.get(i);
if(typeof node.onClick == function) { // has an attached event handler
}
}
var ahrefs=$('a');
对于(变量i=0;i
很简单,不是吗
毕竟,即使EventHandler也是HTML属性。
但是,这不会检测jQuery附加的EventHandler,因此:
var ahrefs = $('a');
for(var i = 0;i < ahrefs.length;i++) {
var node = ahrefs.get(i);
if(typeof node.onClick == function) { // has an attached event handler
}
}
var ahrefs=$('a');
对于(变量i=0;i
很简单,不是吗
毕竟,即使EventHandler也是HTML属性。
但是,这不会检测jQuery附加的EventHandler,因此:
var ahrefs = $('a');
for(var i = 0;i < ahrefs.length;i++) {
var node = ahrefs.get(i);
if(typeof node.onClick == function) { // has an attached event handler
}
}
var ahrefs=$('a');
对于(变量i=0;i
很简单,不是吗?相关问题:@simone不太相关,正如我看到的,因为我想通过代码检查所有事件,而不是在调试环境中。相关问题:@simone不太相关,正如我看到的,因为我想通过代码检查所有事件,而不是在调试环境中。相关问题:@simone不太相关,正如我看到的,因为我想通过代码检查所有事件,而不是在调试环境中。相关问题:@simone不太相关,正如我看到的,因为我想通过代码检查所有事件,而不是在调试环境中。您也可以尝试在选择器中更具体一些
$(“a”)
相当贪婪,但是如果添加一个类$(“a.myClass”)
,它只会命中该元素。您还可以尝试在选择器中更具体一些$(“a”)
相当贪婪,但是如果添加一个类$(“a.myClass”)
,它只会命中该元素。您还可以尝试在选择器中更具体一些$(“a”)
相当贪婪,但是如果添加一个类$(“a.myClass”)
,它只会命中该元素。您还可以尝试在选择器中更具体一些$(“a”)
相当贪婪,但如果添加一个类$(“a.myClass”)
,它只会命中该元素。+1,有趣的是我已经想到了它,但这并不能完全解决我的问题。但这的确是一种选择。实际上,这是我的错,我没有提到我想要检测所有事件,不管它们如何附加到元素,而不仅仅是属性。至少是那些从jquery和attribute中添加的人。+1,有趣的是我已经想到了它,但这并不能完全解决我的问题。但这的确是一种选择。实际上,这是我的错,我没有提到我想要检测所有事件,不管它们如何附加到元素,而不仅仅是属性。至少是那些从jquery和attribute中添加的人。+1,有趣的是我已经想到了它,但这并不能完全解决我的问题。但这的确是一种选择。实际上,这是我的错,我没有提到我想要检测所有事件,不管它们如何附加到元素,而不仅仅是属性。至少是那些从jquery和attribute中添加的人。+1,有趣的是我已经想到了它,但这并不能完全解决我的问题。但这的确是一种选择。实际上,这是我的错,我没有提到我想要检测所有事件,不管它们如何附加到元素,而不仅仅是属性。至少是从jquery和属性中添加的。