0

考虑这段代码:

<div id="div1">
    <input type="radio" class="a" />
    <input type="radio" class="b"/>
    //....
    <input type="radio"  class="n" />
</div>
<div id="div2">
    <input type="radio" class="a" />
    <input type="radio" class="b"/>
    //....
    <input type="radio"  class="n" />
</div>

现在我想将委托事件处理程序绑定到这些单选按钮,如下所示:

$("div").on("change","input",myHandler);

function myHandler(e)
{
  alert($(this).prop("class"));
  alert($(e.currentTarget).prop("class"));  // same results...
}

我的问题是:我如何引用div或从 MyHandler 函数获取 div Id(它不是通过使用:$(this)、$(e.target) 或 $(e.currentTarget))所以如何引用分区?_

4

2 回答 2

4

看看event.delegateTarget。它引用了您将处理程序附加到的 DOM 元素。所以要抓住它的id财产:

function myHandler(e) {
  alert(e.delegateTarget.id);
}

小提琴

于 2013-02-09T20:58:23.463 回答
1

jQuery 有一个 .parent() 函数:http ://api.jquery.com/parent/

在您的事件处理程序内部:

$(this).parent()

于 2013-02-09T21:09:09.017 回答