下面的代码将删除#approve和#deny,并在其中一个链接被按下时回显用户按下的内容。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#approve').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Approved!');
});
return false;
});
$('#deny').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Denied!');
});
return false;
});
})
</script>
</head>
<body>
<div class="rare">
<a href id="approve">Approve</a>
<a href id="deny">Deny</a>
</div>
</body>
</html>但是它似乎不起作用,我是jquery的新手,所以我不明白为什么它不起作用。我的google托管了jquery
发布于 2012-08-15 04:57:24
你的嵌套看起来坏了,试试这个:
$(function(){
$('#approve').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Approved!');
return false;
});
$('#deny').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Denied!');
return false;
});
})另外,我不会假设您为什么返回false,但是如果您想要防止默认的click事件行为,这是首选的方法:
$('#deny').click(function(e){
// Absorb click
e.preventDefault();
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Denied!');
});干杯
发布于 2012-08-15 04:58:28
如果这正是你的代码,你应该会在firbug/IE的控制台中得到一个错误。您过早地关闭了准备好的函数$(function(){,并且有一些挂起的}),以及在函数外部返回值。
你的代码应该是:
$(function(){
$('#approve').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Approved!');
});
$('#deny').click(function(){
$('#approve').unbind('click');
$('#deny').unbind('click');
$('.rare').html('Denied!');
});
});https://stackoverflow.com/questions/11960579
复制相似问题