3 回答

TA貢獻1828條經驗 獲得超3個贊
我認為沒有必要捕獲按鍵和鼠標離開。除了像下面這樣改變圖像屬性,或者image.setAttribute('src', this.value)
var wpcomment = document.getElementById('previewimage');
var image = document.getElementById('nahled');
wpcomment.onkeyup = function(){
image.src = this.value;
}
<textarea name="previewimage" id="previewimage" placeholder="drag drop here"></textarea>
<div id="prevCom">
<img alt="" id="nahled" src="" />
</div>

TA貢獻1866條經驗 獲得超5個贊
這是一個帶有測試和 eventListener 的版本
const wpcomment = document.getElementById('previewimage');
const image = document.getElementById('nahled');
wpcomment.addEventListener("input", function() {
const str = this.value.trim();
if (str.startsWith("data:")) { // data uri
image.src=str;
return;
}
try {
const url = new URL(str);
// if (url.href.contains(....) ===-1) { /* test extension here */ }
image.src=url.href;
} catch (_) {
console.log("Not a valid URL")
return false;
}
});
#prevCom img {
height: 300px;
}
#prevCom img::before {
content: "ッ";
}
<textarea name="previewimage" id="previewimage" placeholder="drag drop here"></textarea>
<div id="prevCom">
<img alt="" id="nahled" src="" />
</div>

TA貢獻1820條經驗 獲得超2個贊
var wpcomment = document.getElementById('previewimage');
wpcomment.onmouseover = wpcomment.onkeyup = wpcomment.onkeypress = function(){
document.getElementById('nahled').src = this.value;
}
<textarea name="previewimage" id="previewimage" placeholder="drag drop here"></textarea>
<div id="prevCom"><img alt="" id="nahled" src=""></div>
添加回答
舉報