Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测AUI对话框中按下的Enter键_Javascript_Html_Liferay_Liferay Aui - Fatal编程技术网

Javascript 检测AUI对话框中按下的Enter键

Javascript 检测AUI对话框中按下的Enter键,javascript,html,liferay,liferay-aui,Javascript,Html,Liferay,Liferay Aui,我想检测我加载到对话框中的html文本字段是否使用了enter 如果按enter键,我想模拟单击保存-按钮 我尝试了很多方法,基本上都是围绕着这个代码: $(document).keypress(function(e) { if (e.keyCode == $.ui.keyCode.ENTER) { $("#resultTextArea").val("Enter gedrueckt"); $(this).find("button:saveBt

我想检测我加载到对话框中的html文本字段是否使用了enter

如果按enter键,我想模拟单击
保存
-按钮

我尝试了很多方法,基本上都是围绕着这个代码:

 $(document).keypress(function(e) {
      if (e.keyCode == $.ui.keyCode.ENTER) {
        $("#resultTextArea").val("Enter gedrueckt");
            $(this).find("button:saveBtn").trigger("click");                                                                        
      }
});
下面是AUI对话框(我在其中尝试了上述代码)

这是定义对话框主体的html部分:

<div style="display:none;">
  <div id="addTestDialog">

   <portlet:actionURL name="addNote" var="addNoteURL" />
    <br>
    <table style="width:100%;">
    <tr>
        <td>Name:</td>
        <td><input id="textInput" style="width:98%;height:20px;"></input></td>
    </tr>       
    </table> 
  </div>
</div>
$(document).ready(function(){
  $("#scenario_add_btn").click(function(){             
     AUI().use('aui-dialog', 'liferay-portlet-url', function(A) {
       var dialog = new A.Dialog({
                                            title: 'New title',
                                            centered: true,
                                            modal: true,
                                            width: 500,
                                            height: 200,
                                            bodyContent:AUI().one('#addTestDialog'),
                                            buttons: [ 
                                                       { label : "Save" , id : "saveBtn" , handler : function(){ 
                                                            saveStuff();
                                                            this.close();
                                                        }
                                                       }
                                                        ]
                }).render();
                $("#textInput").keypress(function(event) {
                     var keycode = (event.keyCode ? event.keyCode : event.which);
                    if (keycode == '13') {
                        saveStuff();
                        dialog.close();
                    }
                  });

            });



     });/*btn.click*/
});/*document ready*/


姓名:
我查看了AlloyUI的API,发现:

在“属性”下:没有在我找到的每个教程/代码中使用的open。 因此,这是行不通的(至少我认为是这样)。我测试了初始化,但这也不起作用


谢谢您的帮助/提示。

enter的
keyCode
13
尝试替换
$.ui.keyCode。用
13
输入
,并检查它是否有效。

您可以使用jQuery来完成此任务

i、 e


HTH

它现在可以工作了,这是我的代码(按下enter键时,它的功能与savebtn相同,并关闭对话框):


我刚试过,它也用13。但这也不起作用。在我的代码中测试了13个(上面的一个),没有work@Wandang您能告诉我控制台中是否有错误吗?没有调试输出。它不会到达这一行“$”(“#resultTextArea”).val(“Enter gedrueckt”);`我使用它进行调试。尝试将
对话框
替换为
$(文档)
。仍然不工作。我可能找到了这不起作用的原因。要编辑原始帖子我需要把它放在哪里?这在打开的函数体中不起作用。您可以将此代码放在aui块之外…并将警报放在该函数内部,以获得方法调用或不调用的通知。这对我不起作用。我将代码块放在“AUI()”的下面/后面。使用('AUI-dialog',liferay portlet url',函数(A){}”将我的代码放在这个代码$(document).ready(函数(){//my code});不起作用,因为savebtn是我想通过enterkey单击的按钮。因此,在btn上放置enter检测没有意义。。。
$("#saveBtn").keypress(function(event){
  var keycode = (event.keyCode ? event.keyCode : event.which);
    if (keycode == '13') {
      // do what you want
    }
});
$(document).ready(function(){
  $("#scenario_add_btn").click(function(){             
     AUI().use('aui-dialog', 'liferay-portlet-url', function(A) {
       var dialog = new A.Dialog({
                                            title: 'New title',
                                            centered: true,
                                            modal: true,
                                            width: 500,
                                            height: 200,
                                            bodyContent:AUI().one('#addTestDialog'),
                                            buttons: [ 
                                                       { label : "Save" , id : "saveBtn" , handler : function(){ 
                                                            saveStuff();
                                                            this.close();
                                                        }
                                                       }
                                                        ]
                }).render();
                $("#textInput").keypress(function(event) {
                     var keycode = (event.keyCode ? event.keyCode : event.which);
                    if (keycode == '13') {
                        saveStuff();
                        dialog.close();
                    }
                  });

            });



     });/*btn.click*/
});/*document ready*/