linkTo ヘルパーとアクション ヘルパーをトリガーする既定のイベントを置き換える方法はありますか?
クリックではなく、マウスダウンに反応したい...
インターフェイスの動作を少し速くするためです。
ありがとう
linkTo ヘルパーとアクション ヘルパーをトリガーする既定のイベントを置き換える方法はありますか?
クリックではなく、マウスダウンに反応したい...
インターフェイスの動作を少し速くするためです。
ありがとう
アクション ヘルパー:
答えは公式ガイドにあります:
イベントの種類を指定してください: http://emberjs.com/guides/templates/actions/
<p>
<button {{action "select" post on="mouseUp"}}>✓</button>
{{post.title}}
</p>
利用可能なイベントのリスト: http://emberjs.com/guides/understanding-ember/the-view-layer/#toc_adding-new-events
LinkTo ヘルパー:
のようなオプション{{linkTo}}
がないため、このヘルパーはプロパティを定義することで同じ結果をシミュレートできます。on
{{action}}
eventManager
Ember.Handlebars.registerHelper('linkAction', function (name) {
var options = [].slice.call(arguments, -1)[0];
var params = [].slice.call(arguments, 1, -1);
var hash = options.hash;
hash.namedRoute = name;
hash.currentWhen = hash.currentWhen || name;
hash.parameters = {
context: this,
options: options,
params: params
};
var LinkView = Ember.LinkView.extend({
didInsertElement: function () {
this.eventManager = Ember.Object.create({});
this.eventManager.click = function () {
return false;
};
this.eventManager[hash.on] = function (e, v) {
Ember.LinkView.prototype.click.call(v, e);
}
}
})
return Ember.Handlebars.helpers.view.call(this, LinkView, options);
});
使い方:
{{#linkAction route on="mouseEnter"}}Text{{/linkAction}}