我有一个问题,我不知道我能做些什么。 我有以下代码:
<main onclick="test()" id="main">
<div id="test1"></div>
<div id="test2"></div>
<div id="test3"></div>
<div id="NO-test4"></div>
<div id="test5"></div>
<div id="test6"></div>
<div id="test7"></div>
</main>
有了这个,如果我点击divs将执行&#34; test()&#34;功能,如果我想要id为#34; NO-test4&#34;不要执行此操作吗?
答案 0 :(得分:1)
在您的点击处理程序中,您需要测试event.target
property以查看所点击的元素是否是您要排除的元素。因此,您需要将event
对象传递给您的函数:
<main onclick="test(event)" id="main">
然后:
function test(e) {
if (e.target.id === "NO-test4") return; // do nothing
// code for other divs' clicks here
}
演示:http://jsfiddle.net/Lzykkw4t/
如果删除内联onclick=
属性,而是绑定JS中的单击处理程序,则event
对象将自动传递给您的函数:
document.getElementById("main").addEventListener("click", test);
(该代码需要在&#34; main&#34;元素之后的脚本元素中,或者在文档就绪或onload处理程序中。)
答案 1 :(得分:0)
<main id="main">
<div id="test1" onclick="test()"></div>
<div id="test2" onclick="test()"></div>
<div id="test3" onclick="test()"></div>
<div id="NO-test4"></div>
<div id="test5" onclick="test()"></div>
<div id="test6" onclick="test()"></div>
<div id="test7" onclick="test()"></div>
</main>
答案 2 :(得分:0)
您可以使用click
jquery
$( document ).ready(function() {
$("#main").children('div').click(function () {
if ($(this).attr("id") == "NO-test4")
alert ('Disabled');
else
test();
});
});