我有几个嵌套的DIV元素。例如:
<div id='id1'><div id='id2'>content</div></div>
我使用jQuery将事件附加到DIVs事件处理程序:
$('div').click(function () {
//some code
});
用户点击内容时会有两个事件。所以会有两个同时发生的事件。是否有可能获得具有click事件的对象内部事件处理程序数组(DIV)?
可能有可能使用其他框架但是jQuery?
答案 0 :(得分:1)
如果你真的想要一个可以获得click事件的div
个对象数组,你可以这样做:
$('div').click(function(e) {
var array = $(e.target).parents('div').andSelf().get();
alert(array);
e.stopPropagation();;
});
不确定这是否是您想要的,但array
将包含一个div
的数组链。
答案 1 :(得分:0)
如果这样做,那么当单击内部div时,外部处理程序将不会触发:
$('div').click(function () {
//some code
return false;
});
如果要获取所有被点击的div的数组,请使用:
$('div').click(function () {
//some code
var divs = $(this).parents('div'); //Gets all the divs which are ancestors
return false; //Prevent event bubbling
});
答案 2 :(得分:0)
如果您的处理程序类似于以下问题:
$('div').click(function () {
//some code
});
你可以像这样得到div:
$('div').click(function () {
$(this).find("div") //do something
});