Javascript 如果不在输入文本中写入,则获取onchange事件

Javascript 如果不在输入文本中写入,则获取onchange事件,javascript,Javascript,我有一个表格,当我在一行中单击时,此行的数据被复制到一些输入文本。我有一个空的选择组合框,它将根据输入的内容填充一个或另一个内容。我使用event onchange来执行此操作,但它不起作用,因为我没有在输入中写入。我把相关代码放在这里 <td><input type="text" id="club" value="" onchange="load()"/></td> function load() { var club=document.getElement

我有一个表格,当我在一行中单击时,此行的数据被复制到一些输入文本。我有一个空的选择组合框,它将根据输入的内容填充一个或另一个内容。我使用event onchange来执行此操作,但它不起作用,因为我没有在输入中写入。我把相关代码放在这里

<td><input type="text" id="club" value="" onchange="load()"/></td>
function load()
{
var club=document.getElementById("club").value;
alert(club);
}

首先,如果您使用html内联定义脚本,那么所讨论的脚本必须带有标记,我不建议这样做

其次,您需要在函数调用之前使用javascript:

onchange=javascript:load

不过,我建议您研究事件侦听器或jquery

document.getElementById("club").onchange();

我们应该做到这一点。您可以手动触发这些事件

简单明了的方法是使用绑定,就像在一些被动库(如knockoutjs)中一样。
一个快速的技巧是在所有处理完成后,在click处理程序中为一行调用load函数。全部复制文本

为什么不从行的click处理程序调用load呢?请注意,window.load是一个本机DOM方法,您不应该覆盖它。javascript:pseudo协议在联机事件处理程序中已经多年没有使用了,它已经被严重弃用了。jquery?恐怖的jquery是基于javascript构建的一些无用的东西。参观并仔细检查。这是javascript所经历的最糟糕的事情之一,javascript本身就注定要失败。走吧,先生们,阿伦,你的意见是你自己的。事实上,jQuery在全球数百万生产环境中都有使用,这就是我所说的。这不是我自己的意见。在使用某些库之前,了解缺陷和性能问题。Jquery不值得这么做。只需访问页面并阅读即可。理解它。@ArunAravind有趣的是,你在回答中推荐了另一个库。通过这种方式,您可以触发很少的事件,如聚焦、模糊和单击。此外,在使用事件方法时,事件名称前面不应出现on。甚至都没有提到这些方法…@teemu我的实验告诉我另外一种情况,肯定有很多事件可以通过这种方式触发。例如,onclick也可以通过单击触发,这就是工作。我在click行函数的处理程序中调用该函数。谢谢,很好。我喜欢。争论总是好的。花点时间阅读。顺便说一句,淘汰赛不是一个框架。这是一个有效的模式。不像jquery那样只会误导人们远离真正的javascript。读一下。没什么了。实际上我以前读过那篇文章,有时甚至提供了链接。通常问这样问题的人或多或少都是JS新手,他们应该尽可能远离所有库,直到了解JS和DOM的工作原理。令人遗憾的是,推荐人到处向新手推送一些库,…阅读关于淘汰js的文章。它不像jquery那样是一个框架。jquery就像使用现有的更好的IDE构建一个差的IDE。击倒是一种模式。他试图实现的就是这种模式。这是一个概念。而knockout是纯javascript。