为什么onchange不起作用?

时间:2010-09-22 21:31:00

标签: javascript html

我只是在网上寻找答案,但我还没有找到任何答案。我正在玩google的api翻译,我遇到了JS的问题。实际上我的代码是100%正常,除了一个操作。

我的问题是当时没有给出翻译。在js将信息发送给谷歌后,它不会等到翻译结束。而不是这样,它继续阅读我的代码,所以它不会停下来得到答案。它会处理要翻译的信息,然后答案将在一段时间之后得到。因为我想翻译翻译,我做了一个甜蜜的循环。因为我不知道如何停止js,我已经完成了一个带有不同输入文本框的页面,并且在我的循环中,当收到数据时,它会发送到文本框的值,这就是问题所在。当文本被更改时我想再次进入我的js函数,所以如果js改变了值,当我得到翻译时它将返回到我的循环。简单而有效但如果我放入输入框:

onchange="myfunction()"

循环不起作用。但最奇怪的是,如果我手动更改文本,那么函数就可以工作,就好像onchange仅在人类更改文本时才起作用,但如果js更改文本则不起作用。有什么解决方案吗?可能是一些恐怖的听众或类似的东西?

3 个答案:

答案 0 :(得分:7)

onchange事件仅在用户更改输入值时触发。如果以编程方式更改输入,则不应触发。

从任何函数调用函数来设置值。

答案 1 :(得分:2)

onchange事件旨在当用户(并且只有用户)更改值时触发,因此仅在值更改后才会触发 AND 字段丢失焦点。

答案 2 :(得分:1)

有用的初学者和你说的Bucle


  1. 您应该查看onkeyuponblur
  2. 如果输入值是由JavaScript设置的,那么为什么不在设置之后调用该事件呢?
  3. 我不知道布鲁克是什么。
    我最好的猜测:'loop'是西班牙语