2017-06-11 4 views
0

Wie kann ich die OnClick-Funktion eines Vaters ignorieren und nur die Onclick-Funktion des Kindes verwenden (ohne jQuery oder eckig)?ignorieren Eltern onClick reactJS

<div onclick="alert('US')"> country 
 
    <div onclick="alert('NY')">city</div> 
 
</div>

Antwort

2

Sie wollen stopPropagation auf das Ereignis Objekt aufzurufen.

https://developer.mozilla.org/en/docs/Web/API/Event/stopPropagation

Dies wird das Ereignis wird sprudelte bis zu der auch Handler der Eltern zu stoppen.

Hier arbeitet es mit Ihrem Inline-Click-Handler, obwohl ich empfehlen, dass Sie sie in Funktionen herausziehen, um sie lesbarer zu machen!

<div onclick="alert('US')"> country 
 
    <div onclick="event.stopPropagation(); alert('NY');">city</div> 
 
</div>

+0

danke. es funktioniert aber nicht mit reagieren. – roi

+0

http://jsfiddle.net/aj5rebL5/ Hier ist eine kurze JSfiddle mit der Arbeit in React. – AHB

0

Anruf e.stopPropagation() entweder inline oder vorzugsweise in einer Funktion.

handleClick(e, text){ 
    e.stopPropagation(); 
    alert(text); 
} 

render(){ 
    return (
     <div onClick={this.handleClick.bind(this, 'US')}> country 
      <div onClick={this.handleClick.bind(this, 'NY')}}>city</div> 
     </div> 
    ) 
} 
Verwandte Themen