Javascript t链接到JSFIDLE的正确版本?您必须在用鼠标或按Enter键选择条目后离开该字段。。我认为它可能在选择之后工作,而不是在单击屏幕/其他字段中的某些位置之后。。我的代码是屏幕的一部分,“结果”字段在输入值更改时通过ajax更新。。奇怪的是,“结果”字段即
Javascript t链接到JSFIDLE的正确版本?您必须在用鼠标或按Enter键选择条目后离开该字段。。我认为它可能在选择之后工作,而不是在单击屏幕/其他字段中的某些位置之后。。我的代码是屏幕的一部分,“结果”字段在输入值更改时通过ajax更新。。奇怪的是,“结果”字段即,javascript,jquery,Javascript,Jquery,t链接到JSFIDLE的正确版本?您必须在用鼠标或按Enter键选择条目后离开该字段。。我认为它可能在选择之后工作,而不是在单击屏幕/其他字段中的某些位置之后。。我的代码是屏幕的一部分,“结果”字段在输入值更改时通过ajax更新。。奇怪的是,“结果”字段即使在用户做出选择后也没有改变。因此,在上述情况下,仅当用户更改输入字段外的焦点时才会触发事件。。这可能会让人困惑,因为当输入字段中有正确的值时,他们可能会期望结果被更新。好吧,更改处理程序不会在您按设计键入时被调用,只有在您离开字段时才会被调用
t链接到JSFIDLE的正确版本?您必须在用鼠标或按Enter键选择条目后离开该字段。。我认为它可能在选择之后工作,而不是在单击屏幕/其他字段中的某些位置之后。。我的代码是屏幕的一部分,“结果”字段在输入值更改时通过ajax更新。。奇怪的是,“结果”字段即使在用户做出选择后也没有改变。因此,在上述情况下,仅当用户更改输入字段外的焦点时才会触发事件。。这可能会让人困惑,因为当输入字段中有正确的值时,他们可能会期望结果被更新。好吧,更改处理程序不会在您按设计键入时被调用,只有在您离开字段时才会被调用,这就是正在模拟的。它对我不起作用。。。我尝试了Chrome和Iceweasel(Firefox)什么不起作用?我在Chrome和FF上试用过,效果不错。您确定有正确的链接指向正确版本的JSFIDLE吗?您必须在用鼠标或按Enter键选择条目后离开该字段。。我认为它可能在选择之后工作,而不是在单击屏幕/其他字段中的某些位置之后。。我的代码是屏幕的一部分,“结果”字段在输入值更改时通过ajax更新。。奇怪的是,“结果”字段即使在用户做出选择后也没有改变。因此,在上述情况下,仅当用户更改输入字段外的焦点时才会触发事件。。这可能会让人困惑,因为当输入字段中有正确的值时,他们可能会期望结果被更新。好吧,更改处理程序不会在您按设计键入时被调用,只有在您离开该字段时才会被调用,这就是所模拟的。
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
Result:<input type="text" id="result" readonly></input>
<form method="post" action="">
<input type="text" id="input1" />
<button type=submit>Submit</button>
</form>
<script >
$(document).ready(function() {
$('#input1').change(
function(){
$('#result').val($('#input1').val());
});
});
</script>
</body>
</html>
$(document).ready(function() {
$('#input1').keyup(
function(){
$('#result').val($('#input1').val());
});
});
var startValue;
var input1 = $('#input1');
input1.focus(function(){
startValue = this.value;
});
input1.blur(function(){
if (this.value != startValue) {
$('#result').val(this.value);
}
});
<form action="#">
<input type="text" name="input1" onchange="alert('changed');">
<input type="submit">
</form>
<form action="#">
<input type="text" name="input1" onblur="
var changed = checkChanged(this);
if (changed[0]) {
alert('changed to: ' + changed[1]);
}
">
<input type="submit">
</form>
<script type="text/javascript">
// For text inputs only
var checkChanged = (function() {
var dataStore = [];
return function (el) {
var value = el.value,
oValue;
for (var i=0, iLen=dataStore.length; i<iLen; i+=2) {
// If element is in dataStore, compare current value to
// previous value
if (dataStore[i] == el) {
oValue = dataStore[++i];
// If value has changed...
if (value !== oValue) {
dataStore[i] = value;
return [true, value];
// Otherwise, return false
} else {
return [false, value];
}
}
}
// Otherwise, compare value to defaultValue and
// add it to dataStore
dataStore.push(el, value);
return [(el.defaultValue != value), value];
}
}());
</script>
$('#input1').bind('input', function(){
$('#result').val($('#input1').val());
});
$('#input1').closest('form').bind('input', function(){
$('#result').val($('#input1').val());
});