我目前正在为我朋友的网站开发导航。我像这样使用事件绑定:
$(document).on('click', '.title-container h1 a, .img-container a', function() {
showPosts();
return false;
});
我需要的是一个jQuery的功能或能够撤消之前click
的东西。我试图避免使用这两次,我在思考 - 是否有类似于hover
(有两个参数)的东西,我可以使用它?
长话短说 - 我只想click
http://api.jquery.com/hover/这样的内容。
showPosts()
正在使用$.get
加载帖子。我想要的是:当我再次点击这篇文章时,我想解雇unShowPosts()
函数。
我希望以某种方式清除它。对不起,我的英语很差,看起来很糟糕。
答案 0 :(得分:2)
尝试使用.data()
这样的用法:
$(document).on('click', '.title-container h1 a, .img-container a', function () {
$(this).data('clicked', !$(this).data('clicked'));
$(this).data('clicked') ? showPosts() : unShowPosts();
});
答案 1 :(得分:0)
您只需要点击以下内容设置您的活动:.off(...)
并注册一个新的活动,这将调用您的其他功能。
查看详情:http://api.jquery.com/off/
function unshowPost() { ... }
function showPost() {
...
// Remove current event...
$(document).off('click', '.title-container h1 a, .img-container a', showPost);
// Register a new one to trigger "unshowPost" function.
$(document).on('click', '.title-container h1 a, .img-container a', unshowPost);
return false;
}
$(document).on('click', '.title-container h1 a, .img-container a', showPost);
在此处查看行为:http://jsfiddle.net/XTCEr/1/
答案 2 :(得分:0)
类似的东西:
var hidden = true
$(document).on('click', '.title-container h1 a, .img-container a', function() {
hidden = !hidden ? hidePosts() : showPosts()
});