旧式のコードを持つJavaScriptツールの に取り組んでおり、ツール全体を書き直すことはできません。特定の要素が伝播を停止しても、ページの任意の場所でクリックを処理するにはどうすればよいですか?
メニューが下部に固定された位置に追加されました。クライアントはメニューを開いたり閉じたりするトグルボタンを持つことを大変喜んでいます。 ユーザーが物事を外出し始めたときに閉じるたとえば、ユーザーがページに戻ってフォームフィールド上の何かかクリックを選択したときなどに、
これは技術的に任意のクリックでトリガ、body
上click
イベントに仕事ができる、 は、しかし、クリックイベントが内部リンク上で処理された古いコードにおける多数の項目があり、そしてreturn false
は、クリックに追加されました機能を使用して、リンクのhref
タグにサイトを続行しないようにします。
明らかに、このような一般的な機能は動作しますが、falseを返すことで伝播が停止する内部リンクをクリックした場合は動作しません。
$('body').click(function(){
console.log('clicked');
});
私は、とにかく を身体クリックイベントを強制できるか、私はいくつかのグローバルクリックイベントまたは類似のものを使用して、メニューdissappearを聞かせすることができます別の方法がある方法はありますか?
年前に作成されたアプリケーション内の他のすべてのクリックを書き換える必要はありません。 それは怪物の仕事になります。なぜなら私は返り値がなくても、どうやってそれらを書き直すのかという手がかりがないからです。しかし、まだ彼らはhref
に行かせません。
あなたがこれを使うことができるのだろうかと疑問に思っている人は、ここにキャニウスページがあります:http://caniuse.com/#feat=addeventlistener短い答えは、IE8を気にしない限り、はいです。 –