javascript - jquery 是 (":focus")在 safari 中无法工作。此 IF($(this).parents ('form' ).find ('.back' ).is( ":focus") ) 的任何解决方案

标签 javascript jquery jsp safari focus

我正在使用 jQuery,并且我的 common.js 文件中有此代码。

当用户在页面上的任意位置按 Enter 键时,此代码会触发submitnext 按钮。

我为 CancelSubmit 按钮使用两个不同的 CSS 类,它们是 .btn 类和所有 Next 按钮使用 .back 类。

此代码适用于 Internet Explorer、FireFox 和 Chrome。只有 Safari 给我带来了困难。当用户将焦点放在 Cancel 上,然后按 Enter 时,它会提交表单而不是取消表单。

有人有办法解决这个问题吗?我尝试了很多方法,但没有任何效果。

如果您有 Safari 特定的解决方案或适用于所有浏览器的解决方案,请告诉我,因为现在我无法更改我的 JSP 代码。

提前谢谢您。

// Common.js

$("form *").live('keypress', function (e) {
    if ($(this).parents('form').find('button[type=submit].btn, input
type=submit].btn').length <= 0) {
        return true;
    }
    if ($(this).parents('form').find('textarea').is(":focus")) {
        alert(' Function Call ');
        return true;
    } * * *
    if ($(this).parents('form').find('.back').is(":focus")) {
        return true;
    } * * *
    if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
        $(this).parents('form').find('button[type=submit].btn, input
[type=submit].btn').click();
        return false;
    }
});

// test.jsp
<div class="back-link">  
    <div class="back-btn-wrap">              
        <html:cancel styleClass="back" onclick="bCancel=true">cancel</html:cancel>
    </div>
    <div class="btn-wrap">        
        <html:submit styleClass="btn" property="submitNext"> Submit / Next</html:submit>
    </div>
</div>

最佳答案

如果您只想找出哪个元素具有焦点,您可以使用...

$(document.activeElement)

如果您不确定版本是否为 1.6 或更低版本,您可以添加 :focus 选择器(如果缺少)...

(function ( $ ) {
    var filters = $.expr[":"];
    if ( !filters.focus ) { 
        filters.focus = function( elem ) {
           return elem === document.activeElement && ( elem.type || elem.href );
        };
    }
})( jQuery );

关于javascript - jquery 是 (":focus")在 safari 中无法工作。此 IF($(this).parents ('form' ).find ('.back' ).is( ":focus") ) 的任何解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165928/

相关文章:

javascript - jquery css 添加 IE8 过滤器

spring - 将 <option> 值从 JSP 表单发送到 Controller Spring MVC

javascript - JSP getParameter 和 JQuery GET ajax 有问题

ajax - 检查图片是否存在,如果不存在则加载

javascript - 如何调试 Mustache js 模板?

javascript - 等待带有 React Hooks 的 Redux Action

javascript - WebRTC - 删除/减少共享视频流的设备之间的延迟?

asp.net - 将多个参数传递给 Web 服务时出现问题

jsp - 在 JSP/JSPX : no solution for problem that should not even exist? 中转义 HTML 实体

javascript - XMLHttpRequest 从远程主机获取 HTTP 响应