这是我到目前为止所尝试的内容:
var preventDefaultFunc = function(e){
e.preventDefault();
}
然后我稍后在点击功能中调用它:
$('.item').click(function(e){
var $this = $(this);
var $thisChild = $this.find('.item-content');
if ( $this.hasClass('big') ) {
return false;
}
$this.on(preventDefaultFunc);
// make the box bigger and load the article inside it here
});
我是这样做的,所以我可以稍后再关闭它,因为有问题的div需要允许其中的点击一旦变大。
打开/关闭开关不起作用,因为它应该阻止页面加载框内的链接,这样我可以使框更大并用ajax加载文章。请注意,on / off是绑定/取消绑定的jquery 1.7版本。
有什么建议吗?
答案 0 :(得分:5)
试图理解你的意思,让我们捅一下: - )
$('.item').on('click',function(e){
e.preventDefault();
var $this = $(this);
var $thisChild = $this.find('.item-content');
if ( $this.hasClass('big') ) {
return false;
}
//-- this should unbind your click
$('.item').off('click');
// make the box bigger and load the article inside it here
});
答案 1 :(得分:1)
如果您要停止默认点击操作,只需将其替换为:
$this.on(preventDefaultFunc);
有了这个:
e.preventDefault();
除了阻止默认的点击操作之外,我并不是100%清楚你要做的事情,但它让我觉得你正在过度思考它。如果这没有帮助,请尝试进一步解释您的设置和目标。
答案 2 :(得分:1)
不应该更像 $ this.on('click',preventDefaultFunc) ?