我有一个全局功能来捕获点击.
$(document).click(function(e){
//do something
if(clickedOnLink)
//do something
});
Run Code Online (Sandbox Code Playgroud)
当目标是一个链接时,我想做更多的东西,但如果<a>标签实际上围绕一个div(因为HTML5允许这个),目标将是该div.
Roc*_*mat 29
您可以尝试查看您单击的元素是否是<a>标记的子元素.
$(document).click(function(e){
if($(e.target).closest('a').length){
alert('You clicked a link');
}
else{
alert('You did not click a link');
}
});
Run Code Online (Sandbox Code Playgroud)
Jam*_*gne 17
我相信使用is实际上会比答案提示更好closest:
$(e.target).is('a, a *');
Run Code Online (Sandbox Code Playgroud)
这将检查元素本身是否为a a或者是否包含a.
这应该比closest因为它将使用元素本身的匹配而不需要像往常一样遍历DOM树那样快closest.
试试这个
$(document).click(function(e){
//do something
if($(this).closest('a').length)
//do something
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14906 次 |
| 最近记录: |