Javascript onchange事件不发生';行不通
我将事件onchange绑定到我的textbox控件:Javascript onchange事件不发生';行不通,javascript,asp.net,Javascript,Asp.net,我将事件onchange绑定到我的textbox控件: var tbValue = document.getElementById("tbValue"); tbValue.onchange = function () { var tbSelText = document.getElementById("selectText"); if (tbValue.value == null) { tbSelText.value.replace
var tbValue = document.getElementById("tbValue");
tbValue.onchange = function () {
var tbSelText = document.getElementById("selectText");
if (tbValue.value == null) {
tbSelText.value.replace("sada", "");
}
else {
tbSelText.value.replace("sada", "sada" + tbValue.value + "'");
}
}
当我更改tbValue(这是我的带有onchange事件的textbox控件)时,tbSelText必须同时更改。但事实并非如此。
我做错了什么?我猜您希望在键入时
onchange
事件触发,但这不会发生
onchange
事件仅在文本框失去焦点(换句话说,它模糊)以及内容发生更改时触发
此事件在提交内容时触发,而不是在值更改时触发。例如,在文本框上,当用户键入时不会触发此事件,而是当用户通过离开具有焦点的文本框提交更改时触发此事件
如果您想在键入时发生事件,您应该查看
onkeydown
、onkeypress
或onkeydown
事件中的一个。
onchange
事件仅在文本框失去焦点(换句话说,它模糊)以及内容发生更改时触发
此事件在提交内容时触发,而不是在值更改时触发。例如,在文本框上,当用户键入时不会触发此事件,而是当用户通过离开具有焦点的文本框提交更改时触发此事件
如果在键入时需要事件,则应查看
onkeydown
、onkeypress
或onkeydown
事件之一。用以下几点进行验证:
- 当调用上述Js代码时,DOM必须在 否则,tbValue将为null。您可以在分配事件之前尝试警告其值
- onchange仅在您将更改某些内容并从文本框中移出制表符(即移除焦点)时才会触发
- 当调用上述Js代码时,DOM必须在 否则,tbValue将为null。您可以在分配事件之前尝试警告其值
- onchange仅在您将更改某些内容并从文本框中移出制表符(即移除焦点)时才会触发