2016-11-02 23 views
0

我有一個表格輸入,在表格底部,我有一個「添加行」按鈕。我的問題是我從一個輸入框開始,然後點擊Tab鍵移動到這個<a>添加行按鈕。當我用所選的鏈接進入時,它不會觸發我的.click(function()jQuery觸發.click()當通過鍵盤選擇時

當按鈕被點擊時,或者當它被選中時,如何觸發一個函數?

看到這個演示:https://jsfiddle.net/kpkammer/ftdez3rb/

UPDATE

我不想在頁面上的任何地方輸入觸發此功能,只是當按鈕被突出顯示,你打亮鏈接

上輸入

回答

2

只點擊處理鼠標點擊和水龍頭。爲了檢測輸入,你需要添加如下處理:

$('#add_row').click(function() { 
 
\t console.log("add"); 
 
}); 
 
$('#add_row').keypress(function(e) { 
 
    if(e.which == 13) { 
 
     console.log("add"); 
 
    } 
 
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<input /><br> 
 
<a id="add_row" class="btn btn-default pull-left" tabindex="0">Add Row</a>

當用戶按下按鈕進入這將檢查。雙方合併成一個單一的方法,你可以使用:

$('#add_row').on('click keypress', function(e) { 
 
    if (e.type == 'click' || e.which == 13) { 
 
    console.log('add'); 
 
    } 
 
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<input /><br> 
 
<a id="add_row" class="btn btn-default pull-left" tabindex="0">Add Row</a>

+0

謝謝!任何方式將按鍵和點擊結合到1功能中? – KPK

+1

您可以使用'('#add_row')。on('click keypress',funciton(e){...});'儘管您需要檢查'e.type'是否是點擊或按鍵 – vivekprakash

+0

如果你使用一個按鈕,它會自動工作,無需額外的代碼 –

1

你可以把它一個按鈕,而不是一個鏈接,它會工作

$('#add_row').click(function() { 
 
\t console.log("add"); 
 
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<input /><br> 
 
    <button id="add_row" class="btn btn-default pull-left" tabindex="0">Add Row</button>

相關問題