2

我创造了这样的东西

<textarea id='txtarea'>Dear Sir/Madam








Sincerely,

[Your Name]
</textarea><br/><input id="btn" value='Add Date' type="button"/>

<script>
var textarea=document.getElementById('txtarea'),pos=0
textarea.focus()
document.getElementById('btn').onclick=addDate
document.getElementById('btn').onmousedown=function(){return false}
function addDate(){  
textarea.innerHTML+="\n"+new Date().toUTCString()
} 
</script>

所有这些代码在除 IE 8 及更低版本之外的所有浏览器上都可以正常工作......问题是:

当 textarea 获得焦点并且用户单击 Add Date 按钮时,不需要取消选择 textarea ( onmousedown=function(){return false})。在 IE 8 及更低版本中,它被取消选择(我认为它return false不起作用)。

如何支持 IE 8 及更低版本。

提琴手

4

2 回答 2

2

在较旧的 IE 中,有unselectable可用的属性。通过设置它on可以防止具有属性的元素接收焦点。

<input id="btn" value='Add Date' type="button" unselectable="on" />

我刚才找不到任何文档,但如果我没记错的话,这个属性需要按字面意思设置为标签,或者可以使用setAttribute(). 设置unselectable属性没有效果。


一篇关于分号的文章。尽管文章也解释了,当您可以省略分号时,始终使用它们是最安全的。

于 2013-08-22T22:31:45.630 回答
0

也许这有效(未在 ie 中测试)

document.getElementById('btn').onmousedown = function(e) {
    e.preventDefault();
    return false;
}
于 2013-08-22T21:24:52.657 回答