簡単な質問。すべてのブラウザでJqueryでEvent.preventDefault()が失敗する
<a rel="nofollow" id="claim-job-link" data-method="post" class="button green claim-job" href=""><span class="button"> <span class="text"> Claim Job </span> </span></a>
そして、次のjQuery:
$("#claim-job-link").bind('click', function(event) {
event.preventDefault();
});
問題なく呼び出された私は、次のHTMLを持っています。 preventDefaultにブレークポイントを追加すると、そのブレークポイントが呼び出されます。ただし、ブラウザはChromeとFirefoxの両方でリダイレクトされます。誰も同じようなことに直面した?それが終了したときに
for (i = 0, l = elems.length; i < l; i++) {
match = elems[i];
if (maxLevel && match.level > maxLevel) {
break;
}
event.currentTarget = match.elem;
event.data = match.handleObj.data;
event.handleObj = match.handleObj;
ret = match.handleObj.origHandler.apply(match.elem, arguments);
if (ret === false || event.isPropagationStopped()) {
maxLevel = match.level;
if (ret === false) {
stop = false;
}
if (event.isImmediatePropagationStopped()) {
break;
}
}
}
return stop;
}
その後、それはリダイレクトを行い実行します:イベントが最初に防止して、jqueryのは、このコードブロックに入っているように見えます
を追加する
編集コール。
ありがとうございました
子の 'span'要素のいずれかにハンドラが設定されていますか? – lonesomeday
それは問題かもしれません...おそらくあなたはスパンからのイベントの伝播を防ぎますか? –
私のアプリケーションのどこかに見ると、これは私のpreventDefault呼び出しで起こっているようです。コールに影響を与える可能性のあるシステム全体に何かがありますか? @元@ lone - いいえ、スパンの処理はありません。 –