如何在使用jQueryUI Dialog Confirmation时取消激活“Enter键”

时间:2010-07-14 05:56:03

标签: jquery jquery-ui

我在IE6中输入密钥与jQuery UI对话框确认框有问题,上面只有一个“确定”按钮。

$("#myBox").dialog({
            autoOpen: false,
            closeOnEscape: false,
            resizable: false,
            modal: true,
            draggable: false,
            position:  ["center", 100],
            buttons: {
              'Ok': function() { 
                      $(this).dialog("close"); 
                      closeReq();
                    }
        }
    });

基本上,只有当用户点击“确定”按钮时,我才希望对话框连同任何附加函数调用“Ok”关闭/触发功能。

目前,我允许用户按下“回车”以启动一些信息的检索,然后根据这些数据的一些验证,我生成一个模态jQuery UI对话框但似乎自动关闭用户从一开始就按下“输入键”。

如何防止这种情况发生,即在IE6中为此jQueryUI对话框消息框取消激活“Enter”键?

感谢。

3 个答案:

答案 0 :(得分:1)

  

目前,我允许用户按下“回车”以启动某些信息的检索,然后根据对此数据的一些验证

如果你这样做,请致电

.preventDefault();
.stopPropagation();

在您的事件处理程序中。返回false就像是一条捷径。

答案 1 :(得分:1)

你好解决了你的问题。这对我有用:

// Kills an event's propagation and default action. Scott Andrew
function knackerEvent(eventObject) {
    if (eventObject && eventObject.stopPropagation) {
        eventObject.stopPropagation();
    }
    if (window.event && window.event.cancelBubble ) {
        window.event.cancelBubble = true;
    }

    if (eventObject && eventObject.preventDefault) {
        eventObject.preventDefault();
    }
    if (window.event) {
        window.event.returnValue = false;
    }
}  

答案 2 :(得分:0)

管理跟踪此问题解决了我的问题,请参阅: see solution

看起来IE6无法识别preventDefault

感谢@jAndy的帮助。