-2

我想在 if 条件下设置点击事件

var clicked = $('#navs li').click; // but this is clicked automatically 

我该怎么办?

我想这样做

if(clicked){
/*code in here*/
}

我对 .on('click')、.trigger('click') 和其他东西有疑问,我正在搜索类似 if event type = click 的东西。

4

3 回答 3

2

你的意思是:

$('#navs li').click(function() {
   console.log("i m clicked");
});

那么你的意思是,将点击的内容存储在一些.data()中:

$('#navs li').click(function() {
   $(this).data('clicked', true);
});
//and
if($('#navs li').data('clicked')) {
    alert("yes, i'm clicked already");
}
于 2013-09-23T10:02:36.923 回答
1

为什么不使用 .on():

$('#navs li').on('click', function(){
 //code here
});

只需在 if 中添加您要运行的代码。您不需要 if 条件,代码将执行的唯一时间是元素是否被单击。

于 2013-09-23T10:03:00.633 回答
0

要检查是否为元素定义了事件单击 jquery 处理程序,您可以使用不公开支持的方法$._data()

if($._data($('#element').get(0),'events').click)

第一个参数是一个 DOM 节点,而不是 jquery 对象。

于 2013-09-23T10:13:12.680 回答