提问者:小点点

click()调用click函数而不返回click函数


我在学习Java剧本MOOC的第一天。

我们正在查看简单的jQuery示例。

有件事我不明白。

$(“#xyz”).html()这样的表达式返回元素中的文本。例如,如果对应的html是

hello world

,则$(“#xyz”).html()计算为字符串“hello world”。我希望到目前为止我明白了这一点。而$(“#xyz”).html(“new text”)将文本设置为“new text”,以便下一次调用$(“#xyz”).html()时返回“new text”

并且,表达式$(“#xyz”).click(函数(){42})将click函数设置为返回42的函数。然而,课程的主讲人没有解释地声称$(“#xyz”).click()调用click函数并返回42。我希望$(“#xyz”).click()返回一个函数,而不是一个数字。

我糊涂了吗?这里的逻辑是什么?


共1个答案

匿名用户

.Click已重载。有点让人摸不着头脑。您可以使用它来调用click处理程序,或者添加click处理程序。

如果您传递给它一个函数,它会添加一个click处理程序。如果您不向它传递任何内容,它将调用click处理程序。

null

// Add a click handler
$('button').click(() => { console.log('clicked'); });

// Invoke a click handler
$('button').click();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>click</button>