$(".hovertip").parent().on('hover', function() {
alert('yay');
});
上記のようなものを.live()のように機能させて、DOMへの動的な変更をキャッチしたいと思います。
私はこのようなことを試みました...
$(".hovertip").on('hover', $(this).parent(), function() {
alert('yay');
});
しかし、それはうまくいかないようです...
注–これは.on()を.parent()で追加したjQuery Liveトラバーサルparent()セレクターの続きですが、動的DOM変更の問題は解決されていません。
アップデート:
提案をありがとう...
関数でアクションを実行するときにこのコードをライブで動作させ、DOMが変更されたときに.liveのように動作させるのにまだ問題があります。例...(これはDOMが変更された場合は機能しません)...
$(".hovertip").parent().on('mouseenter', function() {
var hovertipParentHeight = $(this).outerHeight();
$(this).find(".hovertip").css("top", (hovertipParentHeight-hovertipHeight)/2 + "px");
問題は、提案された解決策を実装する場合でも、メインセレクターがコールバックになる前に$(this).parent()が必要であり、.parent()がコールバックをサポートしていないようです:http: //api.jquery.com/parent/
例えば:
$('.hovertip').on('hover', function(){
$(this).parent(function() {
var hovertipParentHeight = $(this).outerHeight();
$(this).find(".hovertip").css("top", (hovertipParentHeight-hovertipHeight)/2 + "px");
...
});
動作しません。