[英]Triggering events on input elements using javascript
我想使用javascript来触发输入元素的值时触发事件。使用脚本更改输入元素的值,并且不键入内容。我知道onChange事件不是在值更改后触发,而是在值之后触发被更改并且元素失去焦点(在元素外部单击鼠标。)..输入元素不会失去焦点。因此onChange事件不会触发。所以该怎么做。.以下是脚本,一旦我尝试并失败
<html>
<head>
<script type = 'text/javascript'>
function changed()
{
alert('changed');
}
function change()
{
document.getElementById('myId').value = 'Hello';
}
</script>
</head>
<body>
<input type = 'text' id = 'myId' onChange= 'javascript:changed();'/>
<input type ='button' value = 'change' onClick = 'javascript:change();'/>
</body>
我的意思是,当使用功能change()更改文本框内的内容时,应该调用功能changed()。 这是代码http://jsfiddle.net/BFz2a/的jsfiddle
呼叫changed()
后change()
http://jsfiddle.net/BFz2a/11/
function change() {
document.getElementById('myId').value = 'Hello';
changed(); // Calls the other function
}
事件侦听器中的内容( onchange=" this is inside "
)被解析为JavaScript。 因此, javascript:
已过时 。 实际上,它被视为标签 。
javascript:...
前缀仅在链接中有意义,例如<a href="javascript:alert('test');">Test</a>
。
答案很简单
function change(){
var el = document.getElementById('myId');
el.value = 'Hello';
el.onchange(); // or simply call changed();
}
和javascript:
onclick
和onchange
内不需要,只需使用
onClick = "change();"
在处理click事件的函数中,您可以手动为Input调用onchange事件。
function change()
{
var inputEl = document.getElementById("myId");
inputEl.value = 'Hello';
inputEl.onchange();
}
function change(){
var el=document.getElementById('myId');
el.value="Something";
changed(el);
}
function changed(el){
alert(el.value);
}
change();
小提琴在这里 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.