当我通过以下方式找到一个 DOM 元素时:
$('md-autocomplete-wrap button')[0]
浏览器控制台实际上正确显示为 HTML 按钮,我想通过控制器操作单击此按钮。尽管如此:
$('md-autocomplete-wrap button')[0].click();
没有任何事情发生,因此无法解决问题。如何正确触发click()
此按钮的功能?
当我通过以下方式找到一个 DOM 元素时:
$('md-autocomplete-wrap button')[0]
浏览器控制台实际上正确显示为 HTML 按钮,我想通过控制器操作单击此按钮。尽管如此:
$('md-autocomplete-wrap button')[0].click();
没有任何事情发生,因此无法解决问题。如何正确触发click()
此按钮的功能?
使用此代码:
http://emberjs.jsbin.com/mimuwale/1/edit
js
App = Ember.Application.create();
function getView($el){
return Ember.View.views[$el.closest(".ember-view").attr("id")];
}
function newAlert(el){
getView($(el)).get('controller').send('newAlert',el.id);
}
App.IndexView=Ember.View.extend();
App.IndexController=Ember.Controller.extend({
actions:{
newAlert:function(buttonId){alert('clicked button:'+buttonId);}
}
});
HBs
<script type="text/x-handlebars" data-template-name="index">
<button id='definition' onclick='newAlert(this)'>test</button>
</script>
使用jquerytrigger
方法
$('md-autocomplete-wrap button')[0].trigger('click')