第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jquery如何捕獲用戶按下了Ctrl+d鍵?

jquery如何捕獲用戶按下了Ctrl+d鍵?

12345678_0001 2019-03-21 19:19:08
當用戶添加一個網(wǎng)站到收藏夾時(按下Ctrl+d鍵)時觸發(fā)一個事件,如下代碼是網(wǎng)上摘抄的一段用Ctrl+Enter鍵發(fā)送內(nèi)容的js代碼,稍微修改了一下,將“Enter”鍵ASCII碼13改為“d”鍵ASCII碼100,為什么一直沒有反應?<script>$(document).keypress(function(e){ if(e.ctrlKey && e.which == 100 || e.which == 10)     {         triggerSomething();    }})function triggerSomething()    {        document.write('add bookmark successfully!');    }</script>
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

$.ctrl = function(key, callback, args) {

    var isCtrl = false;

    $(document).keydown(function(e) {

        if(!args) args=[];


        if(e.ctrlKey) isCtrl = true;

        if(e.keyCode == key.charCodeAt(0) && isCtrl) {

            callback.apply(this, args);

            return false;//you can remove this line if you need bookamrk

        }

    }).keyup(function(e) {

        if(e.ctrlKey) isCtrl = false;

    });        

};


$.ctrl('D', function() {

   triggerSomething();

});


function triggerSomething() {

    document.write('add bookmark successfully!');

}

其實你是弄錯了 D 的 ASCII 碼和事件類型,你先測試下:


$(document).keydown(function(e) {

    alert(e.which);

})

此時你點擊 D 鍵,你會發(fā)現(xiàn)是以大寫 D 的值為準,為68。所以你這么寫:


$(document).keydown(function(e){ 

    if(e.ctrlKey && e.which == 68) 

    { 

        triggerSomething();

    }

})

function triggerSomething()

{

    document.write('add bookmark successfully!');

}

上面那段代碼可以 handle 更多的 ctrl + key 事件,如果在你的項目里有很多地方會出現(xiàn) ctrl + key,那么可以把第一段代碼當做一個 plugin 來用,如果只有這一處用到的話,就用下面這段吧。


查看完整回答
反對 回復 2019-04-12
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

鍵盤上的 ASCII 碼以大寫為準, 所以 D 的 SACII 碼并不是 100 而是 68.


查看完整回答
反對 回復 2019-04-12
  • 2 回答
  • 0 關注
  • 647 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號