滑鼠拖拽時,選擇文字問題

2022-08-09 14:09:23 字數 1004 閱讀 8008

if()與if() else if()的區別?

if()要考慮順序,寫多個條件時,輸出結果可能會多個,條件會同時執行,及考驗寫的順序

if() else if()無需考慮順序,寫多個條件時,輸出結果只能是1個,條件只會執行乙個

h5新增獲取元素的方法:

document.queryselectorall()  因返回的是陣列,所以()只能寫(   div(標籤)  .div(class))

document.queryselector()   (獲取的是單個元素)(如果是標籤的話就只獲取第乙個)

()裡面可以寫  div(標籤)  .div(class)  #div(id)  

return false 阻止預設事件

解決辦法:

相容性:

標準瀏覽器: 阻止事件的預設行為;

ie低版本:採取setcapture() 全域性捕獲的方法;(為ie低版本特有)

setcapture()給乙個元素新增了這個方法之後,無論我們在頁面的哪個地方觸發相同事件,都會觸發這個元素;

拖拽效果失靈的原因:

瀏覽器會給文字和乙個預設行為,當文字或被選中的時候,會有乙個拖拽的效果,即使沒有人為給他新增,所以當我們點選這個元素拖拽時,有可能,選中文字或轉移瀏覽器天生給的那個行為,從而導致,我們寫的那個拖拽的效果失靈;

怎麼去解決:

在onmousedown下

if(div.setcapture)   //ie低版本下當我們點選元素的時候,瀏覽器會把元素身上事件,全部轉移給div,阻礙了文字和被選中的行為

else   //標準瀏覽器直接把瀏覽器自動選中和文字的預設行為取消了

但是ie低版本的setcapture()這個方法有很霸道的一面:會把所有跟他相同的事件都捕獲到,執行自己的事件

所以要在滑鼠抬起的時候,執行另乙個方法;取消全域性捕獲releasecapture;

if(div.releasecapture){

div.releasecapture

(適用於ie低版本)

滑鼠移動時禁止選中文字

在做乙個div移動的時候,mousemove的時候總是會選中其他地方的文字。在mousemove的handler函式裡加上e.preventdefault 只在chrome瀏覽器中選中文字被阻止。看了一些 之後,嘗試在mousedown的handler函式裡加上return false 就解決問題了...

Treeview 滑鼠懸停時的問題提示

在treeview控制項的使用上,往往遇到裡面的節點是動態增加上去的,因為在增加時沒有指定node的tooltiptext,所以即時將treeview的shownodetooltips屬性設為true,還是沒起作用,解決方法 在treeview增加乙個nodemousehover事件,急滑鼠懸停時事...

工作時公司的選擇問題

我們加入一家公司,不管這家公司的規模怎樣,業務形態怎樣,對你影響最深的大都是你所在的團隊,團隊氛圍 團隊成員這些都是會影響著你在公司的每一天,所以我個人認為選擇一家公司最重要的其實是選擇團隊,那麼怎麼判斷團隊是否值得加入呢?一家公司賴以生存肯定有他自己的業務形態,但是大部分大點的公司業務形態有很多種...