我正在使用名为Tooltipster(http://calebjacob.com/tooltipster/)的jquery插件,我正在将一些HTML插入到包含href的提示中。如果我单击链接,页面将按预期打开。但是,如果我尝试使用相同的href,添加一个类名,然后尝试触发一个jquery函数,它将不会触发。我一直把头发拉了几个小时试图解决这个问题。任何帮助,将不胜感激。这里有一些精简代码来说明一个例子。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="tooltipster.css" />
<script language="javascript" type="text/javascript" src="Scripts/jquery-1.8.0.min.js"></script>
<script language="javascript" type="text/javascript" src="Scripts/jquery.tooltipster.js"></script>
<script>
$(document).ready(function() {
$('.element').tooltipster({
animation: 'fade',
delay: 180,
offsetX: 0,
offsetY: 0,
onlyOne: true,
position: 'top',
maxWidth: '300',
speed: 150,
timer: 0,
theme: '.tooltipster-default',
interactive: true,
interactiveTolerance: 350,
updateAnimation: true,
trigger: 'custom',
interactive: true
});
$('.element').tooltipster('update', 'Select an Image from the right hand image list.<a class="update" href="#">Cancel Editing.</a>');
$('.element').tooltipster('show');
$('.update').click(function(){
alert("hello");
});
});
</script>
</head>
<body>
<a class="update" href="#">Hello</a>
<div align="center" class="element" title="Try clicking <a href='http://google.com'>this link</a>">
<p>This div has a tooltip when you hover over it!</p>
</div>
</body>
</html>
我把小提琴放在一起来说明这个问题。 http://jsfiddle.net/bCqyL/
答案 0 :(得分:2)
当你为.udpate元素设置click handler时,jquery还不知道有关这个类的元素。这就是处理程序没有在您的示例中设置的原因。相反,请使用另一种方法,处理文档的所有点击,并仅选择针对.update元素的地址。
$(function(){
$(document).on('click', '.update', function(){
alert('hello');
return false;
});
});