我有一棵divs树:
<div id="a" onclick="func"> <div id="b" onclick="func"> <div id="c" onclick="func"> </div> </div> </div>
在div上单击时,将使其子级不可见-即单击“ a”将使“ b”和“ c”不可见。
function func{ if ($(childId).hasClass("visible")){ $(childId).removeClass("visible"); $(childId).addClass("invisible"); }
问题是:单击“ b”将调用“ a”的单击,并使“ b”和“ c”不可见。如何使用jQuery禁用对“ a”的点击?
谢谢
您可以为孩子添加一个处理程序,以防止click事件蔓延:
function handler(event) { event.stopPropagation(); // now do your stuff } $('#a').add('#b').click(handler);
这样一来,点击'#b'不会传播到'#a'。都不会单击以'#c'转到'#b',因此也不会'#a'。
'#b'
'#a'
'#c'