iT邦幫忙

0

【HTML5】拖曳時,如何改變滑鼠的圖標?

  • 分享至 

  • xImage

大家好,
請問在【HTML5】拖曳時,cursor(鼠標)會自動變成 no allowed,如下

如果我想改成在拖曳時,cursor(鼠標)變成其他樣式,如下

請問該怎麼做?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
rain_yu
iT邦研究生 5 級 ‧ 2024-03-08 13:12:30
最佳解答

在 HTML 中,你可以使用 CSS 的 cursor 屬性來修改鼠標圖示。當你拖曳元件時,你可以透過設定 cursor 屬性來改變鼠標的外觀。

以下是一個示例,展示如何在拖曳元件時改變鼠標圖示:

<!DOCTYPE html>
<html>
<head>
  <style>
    .drag-element {
      width: 100px;
      height: 100px;
      background-color: red;
      cursor: move; /* 初始狀態下的鼠標圖示 */
    }

    .drag-element:active {
      cursor: grabbing; /* 拖曳時的鼠標圖示 */
    }
  </style>
</head>
<body>
  <div class="drag-element" draggable="true"></div>

  <script>
    var dragElement = document.querySelector('.drag-element');

    dragElement.addEventListener('dragstart', function(event) {
      event.dataTransfer.setData('text/plain', 'Drag Element');
    });
  </script>
</body>
</html>

在這個示例中,我們使用了 .drag-element 這個 CSS 類別來定義拖曳的元件,並設定了初始狀態下的 cursor 屬性為 move,表示鼠標圖示為移動的樣式。當元件被拖曳時,我們使用 :active 樣式來設定 cursor 屬性為 grabbing,表示鼠標圖示為抓取的樣式。

在 JavaScript 中,我們使用 dragstart 事件來啟動拖曳操作。在這個事件的處理函式中,我們使用 event.dataTransfer.setData() 方法來設定拖曳的資料類型和內容。

你可以根據自己的需求調整示例中的鼠標圖示樣式,並根據元件的不同狀態進行相應的設定。

0
janlin002
iT邦好手 1 級 ‧ 2024-03-07 12:39:09
a:active {
  cursor: no allowed url
}

a 會是你想要作用的範圍

拖曳邏輯應該比較接近 active,可以試試看

greenriver iT邦研究生 4 級 ‧ 2024-03-07 14:26:39 檢舉

謝謝你~不過還是無法耶,
我還使用了important,結果還是被拖拉的預設值(no allow)蓋過去

.theDiv{
   cursor: point !important; 
}
janlin002 iT邦好手 1 級 ‧ 2024-03-07 16:13:57 檢舉

你要加 :active
然後應該是 pointer 不是 point

我要發表回答

立即登入回答