gpt4 book ai didi

javascript - jQuery 1.4.2 在更改文本字段时使用 .delegate

转载 作者:行者123 更新时间:2023-11-30 17:08:44 25 4
gpt4 key购买 nike

我在 IE 9 中使用 jQuery 1.4.2 .delegate 函数时遇到问题。我很想使用最新版本的 jQuery 并只使用 .on 函数,但由于 vendor 产品。

我的目标是在文本字段更改时触发一个函数。因此,如果它为空并且设置为“测试”,那么函数将运行。

这就是我正在尝试做的,警报永远不会显示......

<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">

function test(result) {
var result = result;
$("#txtTest").val($("#txtTest").val() + result);
}

$("body").delegate("#txtTest", "change",function() {
alert( "Handler for .change() called." );
});

</script>
</head>

<body>
Test: <input type="text" id="txtTest"/><br />
<input type=button value=Test name="Submit" id="btnTest" onclick="test('testing the call')" />
</body>
</html>

我也尝试过使用 myCustomEvent:

<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">

function test(result) {
var result = result;
$("#txtTest").val($("#txtTest").val() + result).trigger("myCustomEvent");
}

$("body").delegate("#txtTest", "myCustomEvent",function() {
alert( "Handler for .change() called." );
});

</script>
</head>

<body>
Test: <input type="text" id="txtTest"/><br />
<input type=button value=Test name="Submit" id="btnTest" onclick="test('testing the call')" />
</body>
</html>

提前致谢

最佳答案

问题是您将提交按钮命名为 “提交”。这是 HTML 的禁忌!!当按钮被命名为 submit 时,浏览器默认使用内部提交函数。请参阅下面的 [*]。

此外,val() 注入(inject)不会触发 change() 事件,因此我们需要手动调用它。

Submit 更改为 xSubmit 并在链的末尾手动触发 change 事件,它起作用了。它还应该在一个 dom 就绪包装器中:

html

 Test: <input type="text" id="txtTest"/><br />
<input type="button" value="Test" name="xSubmit" id="btnTest" onclick="test('testing the call')" />

js

 $(function() {
$("body").delegate("#txtTest", "change", function() {
alert( "Handler for .change() called." );
});
});

function test(result) {
$("#txtTest").val($("#txtTest").val() + result).change();
}

演示:

http://jsfiddle.net/at7eoarL/1/

进一步阅读:* - https://issues.apache.org/jira/browse/TAP5-947

关于javascript - jQuery 1.4.2 在更改文本字段时使用 .delegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27427349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com