私はホバー上のマウスイベントを呼び出すためのjQuery each
機能を使用します。各機能内で機能付きの値を送信する方法は?
$('.entry .post-entry a').each(function(){
root.setDimensions(this);
$(this).on("mouseenter", root.mouseEnter);
$(this).on("mousemove", root.mouseMove);
$(this).on("mouseleave", root.mouseLeave);
$(this).on("click", root.onClick);
});
これは素晴らしい作品が、私は、これらの機能にアイテムのインデックスを送信する必要があります。問題は、各機能の最後に()
の機能マークを追加すると、ページ読み込み後に関数が呼び出されますが、これは必要ありません。
パラメータを使用して関数に変数を送信する方法がわかりました。しかし、これらを使用するには、そのような中括弧を利用する必要があります。
$('.entry .post-entry a').each(function(index){
var index = index;
root.setDimensions(this);
$(this).on("mouseenter", root.mouseEnter(index));
$(this).on("mousemove", root.mouseMove(index));
$(this).on("mouseleave", root.mouseLeave(index));
$(this).on("click", root.onClick(index));
});
がどのように値を送ることができる関数を直接呼び出すことなく?
mouseEnterのような機能はどうですか?同様に: 'mouseEnter:function(event、index){}'? – Caspert
@Caspert no。バインドされたargsが最初に配置されるので、 '(index、event)'になります。どのような引数が関数内にあるのか分からないときは、 'console.log(arguments)'を使ってそれをチェックしてください。 – DontVoteMeDown
さて、いいですね。だから、あなたはいつも 'console.log(arguments)'を使うことができます。そして多分愚かな質問ですが、あなたはあなたの方法や@ RoryMcCrossanからのものを好むのですか? – Caspert