防止从 propagating/bubbling 向上点击 {{input}} 组件 (ember)
Prevent click into {{input}} component from propagating/bubbling up (ember)
我在元素内部有一个 {{input}}
,它本身有一个动作。
如何防止点击输入框触发父元素上的点击事件?
- 我试过了
bubbles=false
。
- 我也尝试过扩展
{{input}}
并且在扩展输入中我捕获了点击事件并调用了 event.preventDefault()
例 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>
定义扩展 Ember.TextField
的组件 say my-input
并定义 click
函数和 return false
以防止冒泡。
import Ember from 'ember';
export default Ember.TextField.extend({
click(){
console.log('click my input');
return false;
}
});
对于my-input组件,您不需要定义任何东西来处理点击事件,同时包含该组件。你可以直接说 {{my-input }}
这是工作twiddle
我在元素内部有一个 {{input}}
,它本身有一个动作。
如何防止点击输入框触发父元素上的点击事件?
- 我试过了
bubbles=false
。 - 我也尝试过扩展
{{input}}
并且在扩展输入中我捕获了点击事件并调用了event.preventDefault()
例 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>
定义扩展 Ember.TextField
的组件 say my-input
并定义 click
函数和 return false
以防止冒泡。
import Ember from 'ember';
export default Ember.TextField.extend({
click(){
console.log('click my input');
return false;
}
});
对于my-input组件,您不需要定义任何东西来处理点击事件,同时包含该组件。你可以直接说 {{my-input }}
这是工作twiddle