タグ付けされた質問 「event-propagation」

13
event.preventDefault()とfalseを返す
StackатотвопросестьответынаStack Overflowнарусском:"preventDefault()"или "return false"? 特定のイベントが発生した後に他のイベントハンドラーが実行されないようにする場合は、2つの方法のいずれかを使用できます。例ではjQueryを使用しますが、これはプレーンJSにも適用されます。 1。 event.preventDefault() $('a').click(function (e) { // custom handling here e.preventDefault(); }); 2。 return false $('a').click(function () { // custom handling here return false; }); イベントの伝播を停止するこれら2つの方法の間に大きな違いはありますか? 私にとってreturn false;は、メソッドを実行するよりも簡単で、短く、エラーが発生しにくいでしょう。この方法では、大文字小文字の区別、括弧などについて覚えておく必要があります。 また、メソッドを呼び出せるように、コールバックの最初のパラメーターを定義する必要があります。おそらく、このようにすることを避けてpreventDefault代わりに使用する必要があるいくつかの理由がありますか?より良い方法は何ですか?

19
子アンカーがクリックされたときに親のonclickイベントが発生しないようにするにはどうすればよいですか?
私は現在、jQueryを使用してdivをクリック可能にしており、このdivにもアンカーがあります。私が遭遇している問題は、アンカーをクリックすると、両方のクリックイベントが発生することです(divとアンカー)。アンカーがクリックされたときにdivのonclickイベントが発生しないようにするにはどうすればよいですか? 壊れたコードは次のとおりです。 JavaScript var url = $("#clickable a").attr("href"); $("#clickable").click(function() { window.location = url; return true; }) HTML <div id="clickable"> <!-- Other content. --> <a href="http://foo.com">I don't want #clickable to handle this click event.</a> </div>

14
マウスイベントの伝播を停止する
Angular 2でマウスイベントの伝播を停止する最も簡単な方法は何ですか?特別な$eventオブジェクトを渡してstopPropagation()自分を呼び出すか、他の方法がありますか?たとえばMeteorではfalse、イベントハンドラーから単純に戻ることができます。

7
クリック時にネストされたコンポーネントでのイベントバブリングを防ぐ
これが基本コンポーネントです。どちら<ul>と<li>onClickの機能を持っています。onClickのみを起動し、は起動し<li>ないようにし<ul>ます。どうすればこれを達成できますか? e.preventDefault()、e.stopPropagation()をいじってみましたが、役に立ちませんでした。 class List extends React.Component { constructor(props) { super(props); } handleClick() { // do something } render() { return ( <ul onClick={(e) => { console.log('parent'); this.handleClick(); }} > <li onClick={(e) => { console.log('child'); // prevent default? prevent propagation? this.handleClick(); }} > </li> </ul> ) } } // => parent …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.