0

这不是一个真正的问题,而是一个普遍的问题。我对javascript没有太多经验,几个月前我写了这个,现在我不记得它为什么起作用了。我在 php 文件中有以下代码:

    echo'<SCRIPT type="text/javascript" src="button_js.js"></SCRIPT>
     <input type="text" placeholder="Enter Nickname" name="nickname" id="nickname" />
     <br />

        <a href="example.com" id="submit_request">Submit Request</a> |
        <a href="example.com" id="continue_searching">Continue Searching</a>';

在 button_js.js 中,有一个 submit_request 函数和一个 continue_searching 函数。当用户点击相应的链接时,相应的功能就会按照我想要的方式执行;一切正常。

问题是我一生都记不起这为什么有效。它如何知道根据用户点击链接执行正确的功能?我在任何地方都没有 onClick。仅仅是因为函数的名称与链接的 id 匹配吗?

谢谢你的帮助!

4

2 回答 2

2

如果没有看到脚本中的代码,我只能猜测......但很可能您正在添加一个事件侦听器(有时被错误地称为“事件处理程序”,这与您的问题不同但与您的问题相关)。

简而言之,JavaScript 能够“抓取”页面中的元素并“监听”可能发生在它们身上的事件(例如点击)。一旦该事件发生,您将触发一个函数(或使用...“事件处理程序”“处理”该事件)。

如果您使用 jQuery,则概念是相同的,但是您可能会发现您使用的是jQuery 自己的事件处理函数

于 2013-06-07T14:58:04.143 回答
0

提供相关的 JavaScript 代码可以帮助其他人帮助您。

话虽如此,我会给你一个笼统的答案。

当用户单击时,会触发一个事件侦听器。当事件触发时,它会获取 id 属性的值。然后,如果 id 属性具有与其值对应的函数名称,则事件将调用该函数。

例如,在 JQuery 中(完全未经测试):

$("a").click(function(ev) {
  var f = this[ev.target.id];

  if (typeof f === 'function')
     f(); // calls the function whose name corresponds to the id attribute
});
于 2013-06-07T15:06:49.327 回答