如何检查在一个特定的DIV中是否有链接被点击
jQuery - How check if any link was clicked in a specific DIV?
在HTML代码中我的页面包含:
<div id="main_menu">
<a href="#" id="login">Link1</a>
<a href="#" id="logout">Link2</a>
</div>
<div id="second_menu">
<a href="#" id="information">Link info</a>
<a href="#" id="profile">My profile</a>
</div>
<div id="menu_oustide"><a href="#" id="something">Link1</a></div>
在jQuery中,如果我想检查用户是否点击了页面中的任何链接,我使用以下代码:
$('a').click(function() {
// do something
});
如果用户只点击特定div中的链接,我如何启动一个函数?我想有一个功能开始,如果用户单击任何链接仅在div ID命名为"main_menu"answers"second_menu",但不是在"menu_outside"。
根据您想要做的事情,您可以使用后代[docs]和多个[docs]选择器将事件处理程序仅绑定到这些链接:
$('#main_menu a, #second_menu a').click(function() {
// link inside #main_menu or #second_menu
});
如果您不想对两个事件执行相同的操作,则必须单独绑定事件处理程序。
您还可以动态检查链接是否是这些元素的后代,使用closest
[docs]:
$('a').click(function() {
if($(this).closest("#main_menu").length) {
// inside #main_menu
}
if($(this).closest("#second_menu").length) {
// inside #second_menu
}
//...
});
但是这会带来额外的开销。
用这个来选择你想要的div和ahref。
$('#second_menu a').click(function(){
// This will select the a href's only in the second menu.
// basically, in div id "#second_menu" select all "a" elements.
});
相关文章:
- 检查HTML是否已加载到DIV中
- 是否可以使用 DIV 而不是 iFrame,以便内容看起来像在同一页面中
- jQuery-检查外部页面上是否存在DIV,如果存在,则加载DIV,否则加载另一个
- 检测HTML5视频是否正在播放或暂停,并相应地显示或隐藏Div
- 是否有任何跨浏览器方法可以获取带有滚动条的 DIV 宽度(如果存在)
- 是否可以通过函数调用重绘 DIV 的内容
- 检测 DIV 是否有滚动条
- 检查 DIV 是否使用 IF ELSE 被隐藏
- 是否可以刷新 DIV 而 DIV 中没有另一个页面
- 在运行一些Javascript之前检查DIV是否存在
- javascript文件是否可能只影响特定的DIV
- 正在检测DIV的高度是否发生变化
- 检查元素是否在溢出滚动DIV中完全可见
- 是否可以在特定的DIV中设置超链接样式?
- 如何检查完整的Div是否有效
- 检查DIV是否可见或不使用javascript
- 是否有可能重新定位一个位置:绝对DIV
- 确定DIV中的文本是否为粗体
- 如何确定滚动后,浏览器窗口的底部是否已达到DIV的顶部
- 是否有一种方法可以使用Javascript在DIV中找到LAST元素的ID