如何从ember.js控制器中单击按钮

时间:2017-08-06 16:15:05

标签: javascript jquery html ember.js ember-paper

当我通过以下位置找到DOM元素时:

$('md-autocomplete-wrap button')[0]

浏览器控制台实际上正确显示为HTML按钮,我想通过控制器操作单击此按钮。 尽管如此:

$('md-autocomplete-wrap button')[0].click();
没有任何反应,

没有做到这一点。如何正确触发此按钮的click()功能?

2 个答案:

答案 0 :(得分:0)

使用此代码:

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>

答案 1 :(得分:0)

使用jquery trigger方法

$('md-autocomplete-wrap button')[0].trigger('click')

参考:
http://api.jquery.com/trigger/