2 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個贊
您可以data-*向輸入添加一個沒有值的屬性,然后在輸入的值至少更改一次時更新它。
在我的代碼段中,一旦單擊輸入,就會設(shè)置實(shí)際值(因此,如果您單擊它而不更改最后的顏色,它將返回您#000000)。通過刪除click事件來刪除此行為。
該按鈕只是記錄輸入的值。
document.addEventListener('DOMContentLoaded', () => {
// INPUT
const eInput = document.querySelector('input'),
inputEvent = () => eInput.dataset.realValue = eInput.value;
eInput.addEventListener('click', inputEvent);
eInput.addEventListener('change', inputEvent);
// LOG BTN
const eBtn = document.querySelector('button');
eBtn.addEventListener('click', () => console.log(getColorInputValue(eInput)));
});
/**
* @param {HTMLElement} element
* @returns {string|null}
*/
function getColorInputValue(element) {
return element.dataset.realValue;
}
<input type="color" data-real-value="">
<button>Get color</button>
添加回答
舉報