2013-08-02 18 views
2

誰能告訴我怎樣才能兩個keycodes {shiftkey + e.keyCode = 37 or 38 or 39 or 40}檢查組合後KEYUP觸發一個jQuery的事件?如何在keyup上觸發jQuery事件[e.keyCode = 16 + e.keyCode = 37或38或39或40]?

我想要做一些事象下面這樣: 讓我們有一些文字與類名編輯

$(document).on('keyup','.editor p',function(e){ 
//here i want to check above query and fire event 

}) 
+0

鼠標事件通常不包含鍵盤事件數據。您可能需要['keyup'](http://api.jquery.com/keyup/),然後['e.shiftKey'](https://developer.mozilla.org/en-US/docs/Web/ API/event.shiftKey)和['e.which'](http://api.jquery.com/event.which/)。 –

+0

是的,先生你是正確的,但是當我把它設置爲keyup.then以什麼方式我可以做到這一點? – user2640758

回答

3

首先,我是多麼懷念檢查它的p標籤。使用mouseup它應該是一個按鍵或​​或keyup事件你不能做到這一點。

謝謝@JanDvorak指點吧。

則可以使用event.which與​​

$(document).on('keydown','.editor p',function(e){ 
    if ((e.which === 37 && e.shiftKey) || (e.which === 38 && e.shiftKey) || 
    (e.which === 39 && e.shiftKey) || (e.which === 40 && e.shiftKey)) { 

    //tODOs 

    } 
}); 

或結合還嘗試在這個

if (e.shiftKey && (e.which === 37 || e.which === 38 || 
        e.which === 39 || e.which === 40)) 

即使是簡單的像

這就是所謂的在條件說,鍵代碼實現37至40.

if (e.shiftKey && (e.which >= 37 && e.which <= 40)) 

希望你能理解。

+0

鼠標事件是否真的擁有關於鍵盤狀態的信息? –

+0

@JanDvorak對不起,我做錯了,編輯爲'keydown'。感謝您澄清我的錯誤。 – Praveen

+0

非常感謝主席先生你的代碼是多少appreciated.both approaces你所寫的上述工作正常,我請我在這裏http://jsfiddle.net/Karamjeetpnf/wsBKJ/5/在這裏使用它 再次萬分感謝 – user2640758