jquery 触发焦点在 chrome 中不起作用
jquery trigger focus does not work in chrome
我的网站上有一个表格,我填写了获取请求变量的所有字段。在输入字段 2 中,我正在执行 google 地图应用程序以计算距离。
当我从请求中读取值时,我想触发焦点事件以自动调用 gmaps 应用程序并计算距离。触发功能有时在 chrome 和 safari 中不起作用,尽管它在 Firefox、explorer 和 edge 中始终有效。我正在尝试设置超时,但问题仍然存在。
我的代码
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);
您正试图在设置事件处理程序之前触发超时。
某些平台上的某些浏览器可能触发速度太慢或设置事件处理程序速度太快,以至于您的代码可以在那里运行
最好不要在超时内设置事件处理程序:
$('#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);
我的网站上有一个表格,我填写了获取请求变量的所有字段。在输入字段 2 中,我正在执行 google 地图应用程序以计算距离。
当我从请求中读取值时,我想触发焦点事件以自动调用 gmaps 应用程序并计算距离。触发功能有时在 chrome 和 safari 中不起作用,尽管它在 Firefox、explorer 和 edge 中始终有效。我正在尝试设置超时,但问题仍然存在。
我的代码
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);
您正试图在设置事件处理程序之前触发超时。 某些平台上的某些浏览器可能触发速度太慢或设置事件处理程序速度太快,以至于您的代码可以在那里运行
最好不要在超时内设置事件处理程序:
$('#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);