jquery触发器焦点在chrome中不起作用

问题描述 投票:0回答:1

我在我的网站上有一个表单,我从get请求变量中填写所有字段。在输入字段的2中我正在执行谷歌地图应用程序以计算距离。

当我从请求中读取值时,我想触发焦点事件,以便自动调用gmaps app并计算距离。触发器功能SOMETIMES在chrome和safari中不起作用,尽管它总是适用于Firefox,资源管理器和边缘。我试图设置超时但问题仍然存在。

我的代码

setTimeout(function() {
    $('#option_31').trigger("focus");
    $('#option_31').on("focus", function(){
        //do staff
    });
    $('#option_32').trigger("focus");
    $('#option_32').on("focus", function(){
        //do staff
    });
}, 2000);
jquery google-chrome triggers safari focus
1个回答
1
投票

您正在尝试在设置事件处理程序之前触发超时。某些平台上的某些浏览器在设置事件处理程序时触发速度可能会非常慢,或者代码在那里工作

最好不要在超时内设置事件处理程序:

$('#option_31').on("focus", function(){
    //do stuff
});     
$('#option_32').on("focus", function(){
    //do stuff
});

setTimeout(function() {
  $('#option_31').trigger("focus");
  $('#option_32').trigger("focus");
}, 2000);
© www.soinside.com 2019 - 2024. All rights reserved.