カスタム属性をスクリプトに渡そうとしています。このように渡すと:
$('a.load-local-image').cluetip( {
local:true,
leftOffset: $("#par-1").attr("leftpos")
);
それは正常に動作します。ただし、par-1 だけでなく、現在の要素の属性を渡す必要があります。このように試してみると:
$('a.load-local-image').cluetip( {
local:true,
leftOffset: $(this).attr("leftpos")
);
関数は、パラメーターがまったく渡されていないと見なします。そこで、関数を mouseenter() でラップしてみました:
$('a.load-local-image').mouseenter( {
$(this).cluetip( {
local:true,
leftOffset: $(this).attr("leftpos")
});
});
これは問題なく動作しますが、ヒント スクリプトを実行する前に2 回マウスオーバーする必要があります。私もこの方法でcluetip()をプリロードしようとしました:
$('a.load-local-image').cluetip();
$('a.load-local-image').mouseenter( {
$(this).cluetip( {
local:true,
leftOffset: $(this).attr("leftpos")
});
});
そして、それはまだ同じことをします。また、mouseover、mouseout、mouseleave、hover、および考えられるその他すべてのマウス関連機能も試しました。
不可解な理由で、問題は $(this) に関連しているようです。$(this) 以外をパラメーターとして使用すると、すべて正常に動作します。残念ながら、現在の要素を渡す方法は $(this) しかありません。
マークアップは次のとおりです。
<div id="par-1">
<a id="load-local" class="load-local-image featurelink" title="" href="" rel="#whatever" leftpos="220" toppos="48">
<img src="images/image.jpg" alt="" class="featureimg"></a>
何が起こっているかについてのアイデアはありますか?