我现在要在输入框加一个回车键触发事件。下面是jquery代码
keyup(function(e) {
        if (e.keyCode == 13) {
            var pageSize = parseInt(I.textPageSize.val());
            if (pageSize >= 100) {
                if (window.confirm("每页显示过多会造成浏览器缓慢,确定要继续?") == false) {
                    return false;
                }
            }
            I.pageSize = pageSize;
            I.callback.call();
        }
    });
这样在IE下面测试没有问题,点击confirm消息框的【取消】之后就能关闭弹出消息框。
但是FireFox下,可能是多线程的原因吧?点击取消会接着弹出消息框。
怎么才能不再让它触发?

解决方案 »

  1.   

    e.preventDefault()
    return false;
      

  2.   

    也不知道问题出在哪儿,
    我看了msdn,preventDefault()在cancelable为true的前提下。这个确实可以阻止默认动作的触发。
      

  3.   

    IE和FF都没问题,不知道LZ是乍了把你的改成和我一样的运行一下,看能不能通过...
    <input type="text" value="1" id='t' />
    <script type="text/javascript">
    $(document).ready(function() {
    $('#t').keyup(function(e) {
    if (e.keyCode == 13) {
    var pageSize = parseInt($(e.target).val());
    if (pageSize >= 100) {
    if (window.confirm("每页显示过多会造成浏览器缓慢,确定要继续?") == false) {
    return false;
    }
    }
    alert(e.keyCode);
    }
    });
    });
    </script>
      

  4.   

    在IE下可以,在ff下就不行。在confirm消息框出来的时候要用tab切换到取消按钮,按enter。
    而不是鼠标操作,鼠标操作是没有问题的。。
      

  5.   

    单独的东西,没form时,回车没表单提交 
      

  6.   

    把事件改成keypress吧,keyup 阻止 不了事件了