बुदबुदाती निम्न उदाहरण में:AngularJS - कई एनजी-क्लिक करें - घटना
<li ng-repeat="item in items" ng-click="showItem(item)">
<h3>{{item.title}}</h3>
<button ng-click="remove(item)">Remove</button>
</li>
जब मैं बटन पर क्लिक करें showItem()
भी घटना के लिए बुदबुदाती वजह से शुरू हो जाती है। मुझे पता है कि मैं $event
उपयोग कर सकते हैं $event.currentTarget
के लिए देख सकते हैं और $event.stopPropagation()
आदि करने के लिए, लेकिन यह बहुत बदसूरत है।
बीटीडब्ल्यू।
मैं कैसे रोकूँ जब मैं remove
बटन पर क्लिक करें बुलाया beeing से showItem()
- मैं button
पर प्रचार को रोकने के लिए नहीं करना चाहते हैं (सिर्फ एक उदाहरण है यह मेरा मामले में button
एक twitter bootstrap
dopdown/button
है)?
संपादित बदसूरत ठीक हो जाएगा करने के लिए:
function remove(item,$event){
$event.originalEvent.prevent = true;
// rest of the code
}
function showItem(item,$event){
if($event.originalEvent.prevent)return;
// rest of the code
}
आप stopPropagation उपयोग नहीं कर सकते हैं, तो आप करना होगा अपने डोम को पुन: व्यवस्थित करें ताकि वे घोंसला न हों। क्या यह संभव है? –