2010-07-14 35 views
1

我在IE6中出现了一些问题,其中只有一个“确定”按钮的jQuery UI对话框确认框。如何在使用jQueryUI对话框确认时取消激活“Enter Key”

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

基本上,我只希望对话框与任何附加功能一起呼吁反对“确定”关闭/火功能,只有当“确定”按钮,用户点击。

此刻,我允许用户按下“回车”来启动一些信息的检索,然后基于这些数据的验证,我产生一个模态jQuery UI对话框,但似乎自动关闭用户从头开始按下“输入键”。

如何防止发生这种情况,即禁用IE6中的“Enter”键以查看此jQueryUI对话框消息框?

谢谢。

回答

1

此刻,我允许用户按“Enter”来断火的一些信息检索,然后在此基础上的一些数据验证

徘徊无论你这样做,叫

.preventDefault(); 
.stopPropagation(); 

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

+0

对不起,jAndy,没有为我工作。通过仍然按下回车键,通过运动并移除对话框而不允许用户确认“确定”按钮。按钮中是否有任何可以完成的事情? – tonyf 2010-07-14 08:07:34

+0

感谢您的帮助,并对延迟回来抱歉,但我设法解决这个问题,使用以下逻辑:if(event.preventDefault){event.preventDefault();}其他{ event.returnValue = false; } – tonyf 2011-02-04 00:41:38

0

管理跟踪这种下降,这解决了我的问题,请参见: see solution

貌似的preventDefault不被IE6

认可

感谢@jAndy的协助。

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; 
    } 
}