-1
這裏就是我試過,由於某種原因的事件監聽器都沒有得到所謂:如何將lambda和javascript forEach循環結合起來?
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>Some sample text inside body
<div id="log"></div>
<script>
var clipboardEventsHandler = ['beforecut', 'cut', 'beforecopy', 'copy', 'paste'].forEach((evt) => {
document.addEventListener(evt, (e) => {
log.innerHTML += ("-" + e.type + "-");
log.innerHTML += (document.queryCommandSupported(e.type) ? "-" + e.type + " supported-" : "-" + e.type + " **not** supported-");
log.innerHTML += (document.queryCommandEnabled(e.type) ? "-" + e.type + " enabled-" : "-" + e.type + " **not** enabled-");
log.innerHTML += (document.queryCommandState(e.type) ? "-" + e.type " state:true-" : "-" + e.type + " state:false/null-");
log.innerHTML += "<br>"
})
});
</script>
</body>
</html>
我懷疑evt
參數的類型傳遞到的addEventListener。我通過在將其傳遞到addEventListener
之前記錄typeof evt
來確認它是一個字符串。它說它的string
。但是,當我複製body
中的部分文本時,事件監聽者仍然沒有被調用。有人能告訴我我做錯了什麼嗎?
你知道臨時你錯過了一個加號,在'e.type「狀態之間:true-」' – adeneo
否則它看起來很好 - > https://jsfiddle.net/xc9rovk4/ .....這是一個錯字! – adeneo
解決該語法問題時觸發事件。總是檢查控制檯是否有錯誤:) – jackarms