2017-08-06 10 views
1

ember.jsコントローラからボタンをクリックする方法:ブラウザのコンソールは、実際にHTMLのボタンであることを正確に明らかにし私は経由でDOM要素位置

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

を、私はしてこのボタンをクリックしたいのですがコントローラの動作。それでも :何も起こらないよう

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

は、トリックを行いません。このボタンの機能click()を正しくトリガーするにはどうすればよいですか?

+0

あなたはエンバーによってレンダリング何かをクリックしようとしているDOM要素はありますか?そうであれば、私はこれを別の方法で行うことをお勧めします... – acorncom

答えて

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> 
+0

このボタンのデフォルトのonClickメソッドを上書きするのではなく、実際にclick()関数を呼び出して使用します。 – Sedrunum

0

使用jqueryのtrigger方法

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

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

+0

私はこのアプローチを試みましたが、私のDOMでは何も変わりませんでした。 – Sedrunum

関連する問題