[英]HTML5 Placeholder Attribute on Textarea via jQuery in IE10
我想知道Internet Explorer 10中的一些奇怪的行為。在我的頁面上,我添加了一個帶有jquery的textarea,包括一個占位符屬性。 像這樣的東西:
$('body').append($('<textarea placeholder="Placeholder..."></textarea>'));
占位符屬性通常在IE10中運行得非常好......除非在這種情況下。 我用這個小提琴中已有的元素測試了它:
正如您所看到的,一個textarea(動態添加的一個)將占位符屬性視為實際值 - 我能想象的最煩人的行為......
有誰知道這種影響,也許還有一個解決方法? 提前致謝!
編輯
在您手動刪除值之后,我也意識到它按預期工作。 您可以通過jQuery.val('')
刪除它以使其工作。 我對這種行為感到很困惑......但這應該是一個合適的“解決方法”。 看到這個小提琴: http : //jsfiddle.net/Aqnt5/5/
不幸的是我沒有IE10來測試它,但這在其他地方都有用;
$('body').append('<textarea></textarea>');
$('textarea').attr('placeholder', 'placeholder');
只需仔細檢查您的DOCTYPE是否適用於HTML5
這是一個單行(在這里分成幾行,使其更加明顯),你也可以做 -
$('body')
.append('<textarea></textarea>')
.find('textarea')
.attr('placeholder', 'placeholder');
小提琴: http : //jsfiddle.net/Aqnt5/5/
您可以使用jQuery刪除該值,以使其行為正確:
$('body').append($('<textarea placeholder="Placeholder..."></textarea>').val(''));
我不知道為什么他們首先把占位符作為一個值...
我已經看到使用jQuery 1.8.3
時會發生同樣的事情: http : //jsfiddle.net/wE577/1/ 。
但如果您使用的版本高於該版本,問題就會消失: http : //jsfiddle.net/wE577/2/ 。
我不知道jQuery以什么方式導致這個bug,但更新修復了它。
placeholder
是HTML5的保留屬性,因為HTML5尚未定義(並且可能發生更改),那么並非所有瀏覽器都支持所有功能(並且不要讓我開始關於IE)
供參考: http : //www.w3schools.com/html5/att_textarea_placeholder.asp
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.