我正在寻找一个jquery函数来执行以下操作:
如果我点击此div中的html元素,请注意。
答案 0 :(得分:0)
事件遍历元素,直到找到具有click元素的元素。 解决方案:
答案 1 :(得分:0)
您需要测试点击的目标是否为this
。在这里小提琴:http://jsfiddle.net/ZBC43/
$('div').on('click', function(e) {
if (e.target !== this) return;
alert('div clicked');
});
答案 2 :(得分:0)
你需要这样的东西(我试着在你的班级找到父div):
<div class='foobar'>
<span>child1</span>
<span>child2</span>
</div>
<span>child3</span>
<script>
$('.foobar').on('click', function(e) {
var testelem = $(e.target);
while (testelem != undefined && !testelem.hasClass('foobar')){
testelem = testelem.parent();
}
if (testelem != undefined && testelem.hasClass('foobar')) {
alert('code');
}
});
</script>
答案 3 :(得分:0)
试试这个:
$("div").click(function(e) {
if (e.target !== this) return;
alert("inside a div");
});
答案 4 :(得分:0)
您可以使用tagName
dom属性获取当前目标元素名称。
TagName:返回元素的名称。
<强> HTML 强>
<div id="myDiv" style='display:inline-block; width:300px;'><span style='display:inline-block;'>Hello Click here</span><br /><span style='display:inline-block;'>Click here</span></div>
<强>的Javascript 强>
$(document).ready(function(){
$('#myDiv').click(function (e) {
if (e.target.tagName == "DIV") {
alert('Clicked on Div');
}
else{
alert('Clicked on Inner Element');
}
});
});
OR也使用nodeName
属性来获取当前元素。
NodeName:以字符串形式返回当前节点的名称。