【问题标题】:Bind click event for parent using child element's id使用子元素的 id 为父级绑定点击事件
【发布时间】:2016-03-05 19:16:29
【问题描述】:

我想使用子元素的 id 在父元素上绑定点击事件。

我有这个:

<span class='k-link'> 
   <div id='myDiv'> </div>
</span>

<span class='k-link'> 
   <div id='myDiv2'> </div>
</span>

我想这样做:

$("#myDiv:parent").click(function() { });   //Does not work as expected
$("#myDiv2:parent").click(function() { });   //Does not work as expected

但是,这不会产生所需的行为,并且单击事件仅在单击 myDiv 而不是跨度时有效。 我无法控制 span,我只能给 div id,如何为 myDiv 的父级(即 span 标签)绑定点击事件。

这可能吗?

【问题讨论】:

    标签: javascript html jquery jquery-events event-delegation


    【解决方案1】:

    使用parent() 方法,如下所示。

    $("#myDiv").parent().click(function() {
        alert('OK');
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <span class='k-link'> 
       <div id='myDiv'>DIV</div>
    </span>

    【讨论】:

    • 像魅力一样工作。谢谢。但是你能告诉我为什么 :parent 不起作用吗?
    • 其实我也不知道是什么问题。一旦我遇到同样的问题并像这样解决。 @齐柏林飞艇
    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 2019-01-11
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    相关资源
    最近更新 更多