2014-09-02 266 views
0

我打算使用Ctrl + Left-mouse單擊以使用javascript/jquery多選對象。Ctrl +鼠標在mac中單擊(多選)

下面是我用jQuery中,我在windows' chrome測試是很好,可用於多種選擇,但是,當我使用Mac Sarifa打開頁面並做多重選擇,談到了一些問題: 當我按住control鍵並點擊一個對象我要選什麼,它會出來一個contextmenu(看起來Mac有這個默認設置,就像在windows中點擊右鍵),但是我不想這個菜單顯示,我只是希望它可以像Windows一樣行事,我該怎麼辦?任何建議表示讚賞,謝謝。

$(document).bind('keydown', function (e){ 

     if(e.keyCode === 17)//Ctrl 
     { 
      _this.Ctrl = true; 
     } 
    }); 
$(document).bind('keyup', function (e) 
    { 
     if(e.which === 17)//Ctrl 
     { 
      _this.Ctrl = false; 
     } 
    }); 

回答

0

在Mac OSX中,實現多選的適當方式是使用CMD鍵。它在所有本機應用程序和IMO中都是這樣工作的,它應該在瀏覽器中以相同的方式工作。我建議你檢查在鼠標事件處理程序的關鍵,而不是存儲在KEYDOWN的關鍵和正在重置它KEYUP這樣的:

function isMac() { 
    return navigator.userAgent.indexOf('Mac OS X') != -1; 
} 

$(document).bind('mousedown', function (e) { 
    if (isMac() && e.metaKey || !isMac() && e.ctrlKey) { 
     // Multiple selection 
    } 
}); 

isMac的實施就是從這裏取 - http://css-tricks.com/snippets/javascript/test-mac-pc-javascript/