Javascript 如何使用jquery检测绑定到元素的事件
这就是我想做的: 我在一个网页中有很多锚,有些是用ajax管理的,因为它们是用jquery绑定到点击事件的;有些不是这样,而是通过常规http请求发送到另一个页面Javascript 如何使用jquery检测绑定到元素的事件,javascript,jquery,dom,Javascript,Jquery,Dom,这就是我想做的: 我在一个网页中有很多锚,有些是用ajax管理的,因为它们是用jquery绑定到点击事件的;有些不是这样,而是通过常规http请求发送到另一个页面 <a href="#/something" >something</a> <a href="#/ajax/something" class="blabla">ajax something</a> <script type="text/javascript"> $(f
<a href="#/something" >something</a>
<a href="#/ajax/something" class="blabla">ajax something</a>
<script type="text/javascript">
$(function(){
$('.blabla').click(function(){
//doing some ajax return false so anchor don't redirect
return false;
});
});
</script>
$(函数(){
$('.blabla')。单击(函数(){
//执行一些ajax返回false,这样锚就不会重定向
返回false;
});
});
请不要回应锚定类,比如“嘿,选择所有没有“blabla”类的锚定”。
我这样做是因为我在页面上为每一个未通过ajax管理的锚点添加一个“等待”标签。
我想知道锚点是否绑定了一个点击事件
关于。也许你可以使用jquery函数来存储这些锚的附加信息?也许你可以使用jquery函数来存储这些锚的附加信息?如果你的AJAX url系统总是在路径中包含
AJAX
,你可以基于href
构建一个选择器
var $noAjaxLinks= $('a').filter(function(){
return ! /ajax/.test(this.href);
})
如果您的AJAX url系统始终在路径中包含
AJAX
,则可以基于href
var $noAjaxLinks= $('a').filter(function(){
return ! /ajax/.test(this.href);
})
这是可行的——其理念是:
- 存储每个
存在多少
单击事件 尝试拉起控制台并将某些内容绑定到
对象$('#test')
编辑这里的小提琴:这很有效-想法是:- 存储每个
存在多少
单击事件 尝试拉起控制台并将某些内容绑定到
对象$('#test')
编辑这里的小提琴:好的,这是我到目前为止所做的:
我有很多锚,一个没有ajax,另一个有不同的ajax调用 这就是我希望在页面中找到的内容。我的代码必须捕获所有这些代码,并评估哪一个没有ajax调用,以区别对待 这是密码<ul class="nav nav-list"> <li><a href="content.php" class="load">content via .load()</a></li> <li><a href="content.php" class="get">content via $.get()</a></li> <li><a href="content.php" class="post">content via $.post()</a></li> <li><a href="content.php" class="ajax">content via $.ajax()</a></li> <li><a href="content.php" class="">content 2 without ajax()</a></li> </ul>
希望这能帮助另一个和我有同样问题的人。//looking just for one anchor $('a').each(function(idx, obj){ var events = $._data(this,'events'); if (typeof events != "undefined" && "click" in events) { for (i in events.click) { if (typeof events.click[i].handler != "undefined") { var f = events.click[i].handler.toString(); if ((/\$(\(.*\))?\.(load|ajax|get|post)\(/).exec(f)) { console.log('obj '+$(this).text()+' : with ajax.'); //this is where i'm gonna deal with this regular http anchor... } } } } });
问候。好的,这是我到目前为止所拥有的:
我有很多锚,一个没有ajax,另一个有不同的ajax调用 这就是我希望在页面中找到的内容。我的代码必须捕获所有这些代码,并评估哪一个没有ajax调用,以区别对待 这是密码<ul class="nav nav-list"> <li><a href="content.php" class="load">content via .load()</a></li> <li><a href="content.php" class="get">content via $.get()</a></li> <li><a href="content.php" class="post">content via $.post()</a></li> <li><a href="content.php" class="ajax">content via $.ajax()</a></li> <li><a href="content.php" class="">content 2 without ajax()</a></li> </ul>
希望这能帮助另一个和我有同样问题的人。//looking just for one anchor $('a').each(function(idx, obj){ var events = $._data(this,'events'); if (typeof events != "undefined" && "click" in events) { for (i in events.click) { if (typeof events.click[i].handler != "undefined") { var f = events.click[i].handler.toString(); if ((/\$(\(.*\))?\.(load|ajax|get|post)\(/).exec(f)) { console.log('obj '+$(this).text()+' : with ajax.'); //this is where i'm gonna deal with this regular http anchor... } } } } });
注意。可能重复的有一些方法可以完成您需要的工作,而不需要调查事件。什么是更高层次的目标?你的解释不是很简洁这是一个网站,有些锚有远程行为,有些没有远程行为。所以我想捕捉那些没有远程行为的,以便在加载请求时用图像替换身体。@Mookamafob实际上这与我所寻找的最为相同,谢谢你,我看到了,我在发布问题之前在帖子中做了家庭作业搜索。谢谢。有可能重复的方法可以做你需要的事情,不需要调查事件。什么是更高层次的目标?你的解释不是很简洁这是一个网站,有些锚有远程行为,有些没有远程行为。所以我想捕捉那些没有远程行为的,以便在加载请求时用图像替换身体。@Mookamafob实际上这与我所寻找的最为相同,谢谢你,我看到了,我在发布问题之前在帖子中做了家庭作业搜索。谢谢。谢谢,但这是我无法继续的方式,我无法控制URL,因为这是一个我不编码的页面,并且有很多锚…好的。。你只对你的问题给出了一个非常基本的概述。可能还有其他途径可以探索,但并非没有细节。例如,您还没有确定查找事件有帮助的原因,或者确定任何有助于识别ajaxabale LinksHanks的参数,但这是我无法继续的方式,我无法控制URL,因为这是一个我不编码的页面,并且有许多锚定…好的。。你只对你的问题给出了一个非常基本的概述。可能还有其他途径可以探索,但并非没有细节。例如,您还没有确定查找事件有帮助的原因,或者确定任何有助于识别ajaxabale链接的参数。我不能存储,我必须检索,网站中有很多锚,我必须在这方面处理ajax和非ajax。我不能存储,我必须检索,网站中有很多锚,我必须在这方面处理ajax和非ajax。您的方法似乎是最接近解决方案的方法,通过在事件中走动并在$中查找数据。谢谢您的时间。@alexserver您是否介意将此标记为正确,以便其他人可以看到答案?谢谢您的方法似乎是最接近解决方案的方法,通过在事件周围走动并在$中查找数据。谢谢您的时间。@alexserver您是否介意将此标记为正确,以便其他人可以看到它已被回答?谢谢
- 存储每个