gpt4 book ai didi

javascript - 代码适用于 jquery 1.8.3,但不适用于 1.9.1 及更高版本

转载 作者:行者123 更新时间:2023-11-28 19:33:50 24 4
gpt4 key购买 nike

我有一个适用于 1.8.3 的代码(在键入内容时在模糊或焦点消失后成功添加后缀),但不适用于 1.9.1 或更高版本。

<div id="mmm">
<input type=text class="gen"><br>
<input type=text class="gen"><br>
<input type=text class="gen">
</div>


$("#mmm").on('focusout change blur','.gen', function() {
var myvar=$(this);
coreid=this.value;
$.ajax (
{

url: '/echo/html/',
success: function (data,status) {
myvar.empty().attr("value", coreid + "MYSUFFIX" );
}
})
})

检查 1.8.3 上的 Fiddle/如果更改为 1.9.1 或更高版本,代码将停止工作(键入内容时不会在末尾添加后缀)

http://jsfiddle.net/6nch5fp2/5/

最佳答案

通过阅读jQuery Core 1.9 Upgrade Guide你会看到发生了什么变化。对您来说重要的是:

jQuery 1.6 introduced the .prop() method for setting or getting properties on nodes and deprecated the use of .attr() to set properties. However, versions up to 1.9 continued to support using .attr() for specific situations.

因此将 .attr 更改为 .prop:

$("#mmm").on('focusout change blur', '.gen', function () {
var myvar = $(this);
coreid = this.value;
$.ajax({
url: '/echo/html/',
success: function (data, status) {
myvar.empty().prop("value", coreid + "MYSUFFIX");
}
})
})

<强> jsFiddle example

您还会注意到,如果您包含 jQuery Migrate 插件,则可以继续使用 .attr()

<强> jsFiddle example

正如特里在下面指出的,.val() 可能是无论如何都要走的路:myvar.val(coreid + "MYSUFFIX");

<强> jsFiddle example

关于javascript - 代码适用于 jquery 1.8.3,但不适用于 1.9.1 及更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26265842/

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