亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

HTML5 顏色輸入無法打開

HTML5 顏色輸入無法打開

哈士奇WWW 2023-07-06 18:18:03
我正在開發一個 Web 應用程序,該應用程序涉及使用畫布作為人們之間共享的白板。我的菜單上有一個 HTML5 顏色輸入,當鼠標懸停在白板上時該輸入變得可見,以便用戶可以更改繪圖工具的顏色。我的問題是,在測試過程中,顏色選擇器大多數時候都不會打開。我打開了兩個選項卡,其中都包含要測試的白板實例。顏色選擇器只會在我打開的頁面的第一個實例上打開。在第二頁上,當我單擊顏色選擇器時,它拒絕打開。它顯示按鈕上的單擊動畫,但瀏覽器的顏色選擇器對話框未打開。另外,如果我刷新頁面的第一個實例,顏色選擇器也會停止在那里工作。我可以讓它再次工作的唯一方法是完全關閉兩個選項卡并重新打開一個選項卡。我已經嘗試并確認 Chrome 和 Firefox 中都會發生這種情況,這讓我認為這是 HTML 的問題。這是圍繞顏色選擇器的 HTML 片段。<a href="#button-draw" id="drawing-tool" title="Drawing Tool" data-toggle="remote-whiteboard" data-toggle-2="min" style="display:none;">   <div class="drawing-tool-menu" style="display:none;">       <input id="color-draw" type="color"/>   </div>   <span class="fa fa-pencil fa-2x"></span></a>錨點是懸停工具欄中的一個按鈕,用于選擇標記,當鼠標懸停在該按鈕上時,顏色選擇器會出現在其上方,以便您可以選擇顏色。這是懸停在白板上的菜單圖片,其中顏色選擇器可見。我試圖在這里詳細說明并記下相關信息。我不確定哪些信息可能對幫助解決問題有價值。我也不確定這是瀏覽器的問題還是我的代碼的問題。如果有幫助的話,我可以添加一些用于顯示菜單的 javascript、更多 HTML 或 CSS。編輯1:JavaScript 代碼我使用這段代碼來檢測顏色的變化 $("#color-draw").off();    $("#color-draw").change(function (e) {        drawingClass.currentColor = $(this).val();});為了顯示/隱藏菜單,我使用它。var menuCloseTimer = {};$(".whiteboard-toolbar a").off();$(".whiteboard-toolbar a").mouseenter(function (e) {    var item = $(this).attr("id")    var key = $(this).attr("data-toggle");    $(".video-toolbar[data-toggle='" + key + "']").show();    $(".whiteboard-toolbar[data-toggle='" + key + "']").show();    $(this).children(".drawing-tool-menu").show();    clearTimeout(menuCloseTimer[item])});$(".whiteboard-toolbar a").mouseleave(function (e) {    var menu = $(this)    var item = $(this).attr("id")    var key = $(this).attr("data-toggle");    $(".video-toolbar[data-toggle='" + key + "']").hide();    menuCloseTimer[item] = setTimeout(function () {        menu.children(".drawing-tool-menu").hide();    }, 500);});編輯2:我發現了一些東西。在第一次加載時,當我單擊顏色選擇器時,它會打開,但在后續加載時,它會觸發錨點的處理程序。我不知道為什么。
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

我編寫的 HTML 旨在使彈出菜單相對于錨點按鈕顯示。但是,位于錨點內部的輸入元素導致了問題。第一次加載后,單擊顏色輸入會觸發錨點,而不是打開顏色窗口。


我不知道為什么顏色選擇器在第一次加載時起作用,但我相當確定這就是導致問題的原因。我做了一些研究,發現你不應該將按鈕放在錨點內,基本上就是這樣。


我將顏色輸入從錨點中移出,效果非常好。


令人沮喪的是,沒有任何關于此問題或瀏覽器引發的錯誤的文檔。


編輯1


為了解決這個問題,我將代碼更改為:


<div style="display:inline-block;position:relative">

    <a href="#button-draw" id="drawing-tool" title="Drawing Tool" data-toggle="remote-whiteboard" data-toggle-2="min">

        <span class="fa fa-pencil fa-2x"></span>

    </a>

    <div class="drawing-tool-menu" id="drawing-tool" data-toggle="remote-whiteboard" style="display:none;">

        <input id="color-draw" type="color" />

    </div>

</div>

這樣,輸入與錨點分離,但仍然相對于錨點放置。


查看完整回答
反對 回復 2023-07-06
  • 1 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號