ASP.NET中JS/JQuery触发服务器按钮点击的跨浏览器兼容问题
问题解决记录:ASP.NET服务器按钮跨浏览器触发兼容问题
问题场景
- 页面存在ASP.NET按钮
BtnOpening,点击时通过OnClientClick调用JS函数TipologiaMenuClick - 该函数的作用是获取服务器按钮
MainContent_BtnRefreshMenuList并触发其点击事件,以此调用后端逻辑 - 测试发现:Firefox下后端逻辑正常执行,但Edge、Chrome中完全无响应,尝试jQuery的
$(selector).click()方法也无法解决
临时兼容方案
给触发服务器按钮点击的代码添加setTimeout延迟,设置5毫秒时在Windows、iPhone、Android等多端浏览器中兼容性表现最优:
function TipologiaMenuClick() { // 原触发代码改为延迟执行 setTimeout(function() { document.getElementById('MainContent_BtnRefreshMenuList').click(); // 也可使用jQuery写法:$('#MainContent_BtnRefreshMenuList').click(); }, 5); }
注意事项
不同设备上仍存在细微表现差异,后续需根据实际场景进一步调试优化
内容的提问来源于stack exchange,提问作者Giorgio Forti
相关产品推荐
相关产品推荐

