1

組み込みの JS/jQuery を使用して html を実行しているときに衝突が発生します。このアクションonclick='window.location="location A"はエリア全体で機能しますが、onclick='action 1' 「削除」リンクに対してのみ機能するはずです。衝突は、「削除」を押したときに発生し、JS は最初に必要な action1 を実行し、(これは不要です) 「場所 A」にリダイレクトします。リンクをエリア内に残して、この div の JS がこのリンクをクリックしても反応しないようにすることはできますか?

<div class='scraper_item' onclick='window.location="location A"'>
<ul class="scraper_actions1">
    <li><a href="/">Schedule</a></li>
    <li><a class="delete" onclick='action1'>Delete</a></li>
</ul>
</div>    

PS「削除」クラスにぶら下がっているjQueryスクリプトがあるはずです。への移動を防ぐために、削除クラスの jQueryのpreventDefault()メソッドは機能しませんlocation A

4

2 に答える 2

2

jQuery を使用する場合は、次のようにします。

$('div.scraper_item').click(window.location='location A');
$('a.delete').click(function(e){
    e.stopPropagation();
    action1();
});

e.stopPropogation()これは、処理しているイベントが現在の関数のみをトリガーし、その親がトリガーするはずのすべてのイベントをトリガーするわけではないことを意味します。

于 2012-08-21T13:08:04.513 に答える
0

jQuery イベント コールバックから戻ることは、呼び出しfalse同じです。e.preventDefault() e.stopPropogation()

于 2012-08-21T13:23:02.060 に答える