1

当我通过以下方式找到一个 DOM 元素时:

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

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

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

没有任何事情发生,因此无法解决问题。如何正确触发click()此按钮的功能?

4

2 回答 2

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>
于 2017-08-06T16:17:24.690 回答
0

使用jquerytrigger方法

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

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

于 2017-08-07T04:24:05.467 回答