2016-01-11 39 views
0

我有以下代碼輸入鍵:addNewRow與通過javascript

$(document).on('keypress', ".addNewRow", function(e){ 
    var keyCode = e.which ? e.which : e.keyCode; 
    if(keyCode == 9) addNewRow(); 
}); 

在按下「選項卡」代碼執行addNewRow(這增加了表的數據)。這工作完美。我想改變這種以使其與「進」工作,使我作如下修改:

$(document).on('keypress', ".addNewRow", function(e){ 
    var keyCode = e.which ? e.which : e.keyCode; 
    if(keyCode == 9,13) addNewRow(); 
}); 

對於一些奇怪的原因,預計今年不起作用。有沒有不同的方式來做到這一點,我失蹤了? *在撞牆頭

編輯:也曾經嘗試這樣做:

$(document).on('keypress', ".addNewRow", function(e){ 
    var keyCode = e.which ? e.which : e.keyCode; 
    if(keyCode == 9||13) addNewRow(); 
}); 

表單代碼(爲了防止提交上輸入):

<script type="text/javascript"> 
function tabE(obj, e) { 
    var e = (typeof event != 'undefined') ? window.event : e; // IE : Moz 

    var self = $(obj), 
    form = self.parents('form:eq(0)'), 
    focusable, next; 

    if (e.keyCode == 13) { 
    focusable = form.find('input,a,select,button,textarea').filter(':visible'); 
    next = focusable.eq(focusable.index(obj) + 1); 
    if (!next.length) { 
     next = focusable.first(); 
    } 
    next.focus(); 
    return false; 
    } 
} 
</script> 
<!-- Prevent Enter from Submitting Form --> 
<script> 
        $(document).on("keydown", "input", function(e) { 
        if (e.which==13) e.preventDefault(); 
        }); 
        </script> 
    <!-- Begin page content --> 
+1

試試 「的keyCode == || 9 ==鍵代碼13」 – Mic

回答

1

https://jsfiddle.net/8bzn43r6/請看例子中的鏈接

<table> 
<tbody> 
    <tr> 
    <td><input type = "text" id="username"/></td> 
    </tr> 
</tbody> 
</table> 

$(document).ready(function(){ 
    var count = 0; 

    function addNewRow(){ 
    console.log("Added ROW" + count++); 
    $("<tr><td><input type='text' id='username'/><td/><tr/>").appendTo("tbody"); 
    } 

    $('tbody').on('keydown','#username',function(e){ 
    if(e.keyCode == 9 || e.keyCode == 13) addNewRow(); 
    }); 

}); 

的正確語法的工作就像一個魅力

+0

謝謝!我不知道我做錯了什麼,但我重寫了我與你有什麼,並修復了... – Steven

+0

順便說一句,你會知道如何跳過對新行焦點的複選框? – Steven

+0

對不起,你可以更具體.. –

3

正確or聲明:

if (keyCode == 9 || keyCode == 13) 
+0

謝謝,對有些原因,它仍然沒有工作......?標籤鍵仍然有魅力,雖然 – Steven

+0

@Steven當你說「它不工作」,以什麼方式?隨機猜測,但是你在'

'中的輸入元素?點擊輸入可能會提交表單? –

+0

我在一個窗體中,添加了與情況有關的代碼... – Steven

-3

你想要你作爲OR嗎?

if(keyCode == 9 || keyCode == 13) 

或作爲AND?

if(keyCode == 9 && keyCode == 13) 
+0

AND條件將始終產生一個錯誤。 – Mic

+3

'或者作爲一個AND?'這是完全錯誤的 –