因此实时功能不起作用,但这也不适用于.click(function(e){
。
由于课程是正确的,它开始变得令人沮丧,但它只是没有认识到点击。帮助
[更新] JavaScript :(将.live()切换为.on()但仍未成功)
<script type="text/javascript">
$(function() {
$('.pch').on('click', function(e){
e.preventDefault();
alert('hi');
});
});
</script>
HTML:
<a id="nava" onclick="changeTitle('ReQwire - Home');" href="home" jsload="/slideshow.php" class="notactive pch">
<img id="navaa" src="/graphics/icons/navhome.png" />
<div style="display:none;margin-top:-1px;" id="navab">Home</div>
</a>
感谢Anton的工作代码:
$(document).on('click','.pch',function(e){
e.preventDefault();
alert('hi');
});
答案 0 :(得分:4)
考虑使用.on()live在新版本中不推荐使用 jQuery的。
在使用函数之前,您是否调用了jQuery脚本?
是否需要动态添加项目,您需要委托给最近的项目 像这样的静态元素
$(document).on('click','.pch',function(){
//Code here
});
答案 1 :(得分:3)
您无法命名变量this
,它是一个保留字。使用其他变量名称。
var $this = $(this);
此外,在最新的jQuery版本中,.live
已被弃用(甚至可能已删除)。您应该使用其他方法来附加您的活动。
.on
是您要用于满足所有事件处理需求的方法,但并不像将.live
更改为.on
那么简单。语法略有不同。
如果页面加载时存在.pch
元素,之后不会添加其他元素,则可以使用.click,
(或.on('click
)。
$('.pch').on('click', function(e){
e.preventDefault();
alert('hi');
});
OR
$('.pch').click(function(e){
e.preventDefault();
alert('hi');
});
如果您需要将事件绑定到页面加载后添加的元素,则需要使用.on
的“委托”语法。
$(document).on('click', '.pch', function(){
e.preventDefault();
alert('hi');
});
而不是$(document)
,您可以(并且应该)使用最接近的静态父元素(在页面加载后不会添加/删除)。
答案 2 :(得分:0)
.live()自jQuery 1.8起不推荐使用。改为使用.on()。