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 以下を除くすべてのブラウザで正常に動作します...問題は次のとおりです。

テキストエリアがフォーカスされ、ユーザーが [日付の追加] ボタンをクリックした場合、テキストエリアを選択解除する必要はありません ( 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 に答える