Предотвратить распространение / всплывание компонента {{input}} (угасающий)
У меня есть {{input}}
внутри элемента, который сам имеет действие.
Как предотвратить нажатие на входе события click для родительского элемента?
- я пытался
bubbles=false
, - Я также пытался продлить
{{input}}
и в расширенном вводе я поймал событие click и вызвалevent.preventDefault()
Пожалуйста, попробуйте мой тестовый пример: https://ember-twiddle.com/a2cee9abd63a7400124e2745a7820cf8?numColumns=2&openFiles=controllers.application.js%2Ctemplates.application.hbs
Пример hbs:
<div {{action "alert"}}>
I don't want the click into the input to trigger the div's onlick. Help!<br/>
{{input bubbles=false}}
</div>
1 ответ
Решение
Определить компонент сказать my-input
который расширяется Ember.TextField
и определить click
функция и return false
предотвратить пузырение.
import Ember from 'ember';
export default Ember.TextField.extend({
click(){
console.log('click my input');
return false;
}
});
Для компонента my-input вам не нужно определять что-либо для обработки события щелчка при включении компонента. ты можешь просто сказать {{my-input }}
Вот рабочий твиддл