javascript - 無効 - preventdefault 解除




jqueryのe.stopPropagation()はアンカータグに対して機能しますか (4)

説明

デフォルトの動作(リンククリックなど)は停止しません。このメソッドに加えてevent.preventDefault()使用を検討してevent.preventDefault()

event.stopPropagation()はイベントハンドラ専用です。デフォルトの動作ではありません。

event.preventDefault()このメソッドが呼び出された場合、イベントのデフォルトのアクションは起動されません。

スクリプトに綴りの誤りがあり、そのdocument"document"はありません。

サンプルとこのjsFiddleデモをチェックしてください

サンプル

$(document).ready(function(){
    $('.alink, .alink > .p').click(function(e){
        e.preventDefault();
        e.stopPropagation();
        alert("hi");
    });
});

詳しくは

私はe.stopPropagation()を使用しようとしているアンカータグ内の要素からeventpropogationを防ぐことを望みます。 それはうまくいかないようですそれはそれが可能であるか、またはちょうど時間を無駄にしているイムここから私を助けてくださいJavaScriptは:

$(document).ready(function(){
    $('.alink .p').click(function(e){
    alert("hi");
    e.stopPropagation();  
});

HTMLは次のとおりです。

<div>
    <a href="http://google.com" class="alink" >Google links
          <p class="p">Another Links to prevent default</p>
    </a>
</div>

あなたの貴重な時間をありがとう


event.stopPropagation()は、元々イベントがトリガされていた要素からDOM構造内のさらに離れたハンドラへのイベントの受け渡しを停止します。 しかし、それはすでに引き起こされた行動を妨げるものではありません。

上記のデフォルトアクションを停止するには、 event.preventDefault()使用してevent.preventDefault()

出典:


これを試して

$(document).ready(function(){
    $('.alink .p').click(function(e){
        e.preventDefault();
        e.stopImmediatePropagation();
        alert("hi");
        return false;
    });
});

デフォルトの振る舞いを止めるにはe.preventDefault()を使うべきです。 stopPropagationは、イベントの発生を止めるために使用されます。







jquery