簡體   English   中英

在IE10中通過jQuery在Textarea上的HTML5占位符屬性

[英]HTML5 Placeholder Attribute on Textarea via jQuery in IE10

我想知道Internet Explorer 10中的一些奇怪的行為。在我的頁面上,我添加了一個帶有jquery的textarea,包括一個占位符屬性。 像這樣的東西:

$('body').append($('<textarea placeholder="Placeholder..."></textarea>'));

占位符屬性通常在IE10中運行得非常好......除非在這種情況下。 我用這個小提琴中已有的元素測試了它:

http://jsfiddle.net/Aqnt5/1/

正如您所看到的,一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM