Mozilla停止父锚标记行为

时间:2017-07-06 14:10:08

标签: javascript jquery html

我有HTML代码。

在Html中,父元素为Anchor tag,子元素为Dropdown

我想stop parent behavious

了Exa。当用户点击下拉列表时,请调用下拉列表更改事件并停止父级锚标记,如onclick or href value

您可以在以下网址中修改 https://jsfiddle.net/z4c4gwxa/

1 个答案:

答案 0 :(得分:0)

您需要在下拉列表的更改事件中停止传播以防止它冒出DOM树,并检查锚标记的点击事件上的e.target以确保它被触发本身。

e.stopPropagation



$( function () {
    $( "a" ).click( function ( e ) {
        if ( ! $( e.target ).is( $( this ) ) ) {
            return false;
        }
        alert( 'parent' );
    } );
    $( '#dropdown' ).change( function ( e ) {
        e.stopPropagation();
        alert($(this).val());
    } )
} )

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<a href="javascript:void(0);">
  <select id="dropdown">
    <option value="1">Option1</option>
    <option value="2">Option2</option>
    <option value="3">Option3</option>
  </select>
  Click this part
</a>
&#13;
&#13;
&#13;

JSfiddle