當前我正在使用KineticJS創建一個Web應用程序,其中包括拖放到畫布上。當你的鼠標保持在你的畫布內時,它工作得很好。拖出畫布導致頁面選擇
但是,如果您離開畫布,按住鼠標左鍵,您將選擇頁面上的所有內容。有可能以某種方式攔截該事件。顯然ONSELECT是別的東西:對
當前我正在使用KineticJS創建一個Web應用程序,其中包括拖放到畫布上。當你的鼠標保持在你的畫布內時,它工作得很好。拖出畫布導致頁面選擇
但是,如果您離開畫布,按住鼠標左鍵,您將選擇頁面上的所有內容。有可能以某種方式攔截該事件。顯然ONSELECT是別的東西:對
我封裝的canvas元素到一個div,然後分配事件處理程序上的股利,股利覆蓋頁面的佈局類似的100%:
<div class="fillPage">
<canvas id="Viewport"></canvas>
</div>
我還添加了事件處理程序模糊(頁面離開)和以下css:
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
啊非常感謝您的評論!但在我的情況下,這是不可能的。在網站上有內容,畫布在這個內容的中間。所以我希望內容可以選擇,而不是當你用鼠標離開畫布時。 也許我可以和用戶一起選擇一下,再加上一個選擇!不知道那個CSS。 –
hm,當鼠標離開畫布時,您也可以嘗試停止mousedown事件,可能會有一些js函數用於它 – Vengarioth
我想我會考慮防止事件傳播。如果在獲得mousedown後離開畫布,但在獲得鼠標移動之前,用戶正在拖動。我想我會攔截mouseover,在畫布上mouseout,mousemove在文檔上。如果我設置的標誌表明我不希望該事件傳遞,我會嘗試用preventDefault殺死它。不知道它會起作用。在嘗試實現類似反向的過程中,由於IE不知道「指針事件:無」CSS規則。 – enhzflep