gpt4 book ai didi

jQuery focus() 导致 .load() 在 IE9 中执行两次

转载 作者:行者123 更新时间:2023-12-01 06:51:12 24 4
gpt4 key购买 nike

jQuery 焦点似乎导致 Internet Explorer 9 执行两次。此问题在旧版 IE 中不会发生,在 Firefox 或 Chrome 中也不会发生。

我让用户在输入字段中输入代码。输入或提交时,代码将通过加载发送到另一个脚本(ajax)。输入字段中的代码被删除,并且焦点被带回。

该脚本的结果被插入到同一页面上的 div 中。

    $(document).ready(function(){
$('#code').keyup(function(e){
if(e.keyCode == 13){
console.log('Code submitted through enter');
sendcode($('#code').val());
}
});

function sendcode(b){
console.log('function sendcode used');
$('#Result').load('scan.php?code=' + b);
$('#code').val('');
$('#code').focus();
};

$('#Submit').click(function(){
console.log('Code submitted through click');
sendcode($('#code').val());
});
});

但是, focus() 似乎是问题所在,因为当我删除它时,问题就消失了。我尝试将 focus() 放在代码的任何位置,但没有成功。是否有任何替代 focus() 的方法可以实现相同的效果或者可以以某种方式修复它?

NETWORK:

URL: /scan.php?code=stackoverflow
URL: /scan.php?code=

CONSOLE: (when hit enter)
Log: Code submitted through click
Log: function sendcode used
Log: Code submitted through enter
Log: function sendcode used

可以看到第二次加载也没有携带代码变量。

最佳答案

Submit按钮更改为spandiv并设置样式。

<span id="Submit">Submit</span>

演示:Fiddle

您还可以查看this answer ,其中建议向按钮元素添加属性 type="button"

关于jQuery focus() 导致 .load() 在 IE9 中执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747365/

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