innerHTML使jQuery无效

我使用的是基于jQuery的工具提示(Drew Wilson提供的TipTip),除了javascript / ajax innerHTML生成的内容外,其效果很好。 任何通过innerHTML生成的页面内容都会使工具提示无效,只留下浏览器的默认标题标记框。 我曾尝试过两种解决方案:

(1)重构我的代码,以防止innerHTML更改任何标题标记链接的元素(2)使用.hover,.mouseover,.mouseenter和.on实现jQuery .addClass(mouseenter,function(){

方法(2)的一个例子如下,其中当调用TestFunction()时更新'UserPicHolder'的innerHTML,随后尝试使用jQuery将addClass TipTip(基于讨论:mouseover和addClass jQuery示例)添加到图像与id =“测试”(我也试过这与锚标记)

<script language="javascript" type="text/javascript">
function TestFunction(username,userpic) {
var Title1 = 'Click this photo to learn more about '+username+ '';
var username = username;
document.getElementById('UserPicHolder').innerHTML = '<a href="#null"    
onclick="DisplayUser(''+username+'')"><img  src="'+userpic+'" 
style="width:60px; height:66px" alt="user picture" title="'+Title1+'" id="Test">
</a>';
}
</script>

<script>
$(document).ready(function(){
  $("#Test").mouseover(function(){
    $(this).addClass('TipTip');
  });
});
</script>

有没有人有关于如何将工具提示应用于innerHTML派生内容的建议?


试一下()

由于元素是动态添加的,因此您无法直接将事件绑定到它们。所以您必须使用事件委派。

$(document).on("mouseover","#Test",function(){ $(this).addClass('TipTip'); });

句法

$( elements ).on( events, selector, data, handler );
链接地址: http://www.djcxy.com/p/80907.html

上一篇: innerHTML nullifies jQuery

下一篇: Stop mouseenter animation when mouseleave