【发布时间】:2011-01-13 21:52:34
【问题描述】:
我有一个文本类型输入字段和一个复选框。 如果我更改文本然后在输入框外部单击(或按 Enter 或 Tab),则会引发更改事件。但是如果我输入一些文本然后用鼠标直接点击复选框,似乎只有复选框更改事件被抛出。
我有以下代码:
<input type="text" name="text" class="update">
<input type="checkbox" name="check" class="update">
还有这个 jQuery:
$('.update').change(function(){
console.log($(this));
});
这是一个已知问题吗?如何确保在此设置中触发/抛出/捕获所有更改事件?
【问题讨论】:
-
该代码是否在 $(document).ready(function());功能?您可以尝试在函数中放置一个 alert() 以查看您是否正在点击该函数。
-
奇怪。必须进行其他操作,因为我的测试可以从更改的文本输入单击复选框jsfiddle.net/tbeseda/UCtyb
-
你确定吗?我复制了 HTML/JS,当我在文本框中输入内容然后单击复选框时,可以看到这两个事件都触发了。
-
你同时调用了同一个事件,所以其中一个调用会响应,只需更改文本框上的事件并用jQuery单独调用它
-
好的,所以肯定有别的事情发生了,你说得对。我会做更多的测试。实际上我使用这些事件来触发一个 ajax 调用,并且这些 ajax 调用中似乎只有一个被执行了..所以我“认为”这是事件没有触发,但问题可能出在其他地方..
标签: javascript jquery events onchange