イベントが添付された親要素とmouse up、mouse downイベントが添付された子要素がありclickます。
親でイベントがトリガーされたclick後、子でイベントが発生しないようにする方法はありますか?mouseup
たとえば、JSfiddle hereでは、クリックしても内側の四角形が緑色にならないようにすることが目標です。
理想的には、を変更せずに実行したいと思います$('#inner').on('click', function(){})。mouseupブール値をオンにしてチェックできることはすでに知っていclickますが、クリックイベントを変更せずにそれを行う方法を見つけようとしています。
clickjquery(または他のライブラリ)の使用はオプションであり、メソッドを変更しないこと以外に制限はありません。
編集
提案してくれた@adeneoに感謝します。それは有望に見えますが、問題の大部分を見逃していることに気づきました。内部mouseupでは、クリックを防止する必要があるかどうかを確認するための条件付きチェックがあります。イベントを削除した場合、クリックが回避された後にどうにかして元に戻すことはできますか? setTimeoutたとえば。click削除された関数への参照を取得してから、ハンドラーを再度追加する方法 (または可能かどうか) がわかりません。
ここにあるこの新しいフィドルが、もう少しうまく説明するのに役立つことを願っています!