这似乎是一件非常基本的事情,但是我不明白为什么它不起作用:jsfiddle
function click(){
$('#button').click(function(){
return true;
});
}
if(click()){alert('clicked')}
如果要单击按钮,我想返回true,是否可以直接在if语句中使用该函数,然后根据返回的值执行某些操作?
在实际情况下,我需要一个可以检查单击了哪个按钮并根据要调用其他功能的功能的功能
if(click() == 'returned value'){differentFunction()}
答案 0 :(得分:1)
否。
您的函数click()
设置处理程序。它说,将来某人单击'#button'
时,我希望您做某事。实际上,没有设置任何“东西”,因为处理程序所做的只是返回。但是它无法返回到您的if
,因为那样早就过去了。
也许将alert
放在处理程序中?
if
不是when
。
答案 1 :(得分:-1)
我认为您对click()
方法的作用感到困惑。
click()
方法是一个触发器,单击该触发器将执行一些操作。它无法返回您想要的值。您需要的只是这个:
$('#button').click(function () {
alert('clicked');
});
如果单击该按钮,则该代码将运行。如果未单击,则不会。
如果您希望它仅在首次单击时发生,则可以使用once()
:
$('#button').once('click', function() { alert('clicked') });
只会发射一次。