gpt4 book ai didi

html - IE9 HTML5 占位符 - 人们如何实现这一点?

转载 作者:太空狗 更新时间:2023-10-29 14:40:49 25 4
gpt4 key购买 nike

我正在尝试在我的 Web 应用程序中使用 placeholder="xxx" 属性,我不想为 IE9 提供特殊的视觉效果。人们可以提出一些在 IE9 中实现此功能的好的建议吗?

我在这里找到了几个链接,但没有一个建议的脚本是足够的...答案来自 2011 年年中,所以我想也许有更好的解决方案。也许使用广泛采用的 jQuery 插件?我不想使用任何需要侵入性代​​码的东西,例如需要某个 css 类或其他东西。

谢谢。

编辑 - 我还需要它来处理密码输入字段。

// the below snippet should work, but isn't.
$(document).ready(function() {
initPlaceholders()();
}

function initPlaceholders() {
$.support.placeholder = false;
var test = document.createElement('input');
if ('placeholder' in test) {
$.support.placeholder = true;
return function() { }
} else {
return function() {
$(function() {
var active = document.activeElement;
$('form').delegate(':text, :password', 'focus', function() {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (_placeholder != '' && _val == _placeholder) {
$(this).val('').removeClass('hasPlaceholder');
}
}).delegate(':text, :password', 'blur', function() {
var _placeholder = $(this).attr('placeholder'),
_val = $(this).val();
if (_placeholder != '' && (_val == '' || _val == _placeholder)) {
$(this).val(_placeholder).addClass('hasPlaceholder');
}
}).submit(function() {
$(this).find('.hasPlaceholder').each(function() { $(this).val(''); });
});
$(':text, :password').blur();
$(active).focus();
});
}
}
}

最佳答案

我们只是研究了同样的事情。我们决定重复使用 this gist , 通过 Aaron McCall , 在做了一些小改动之后。主要优点是它简单易懂,代码:

  1. 删除内核和 setup_placeholders 部分。只需在匿名函数中立即调用它即可。

  2. test之前添加var

对于支持 placeholder 的浏览器,它只是退回到那个。它还处理现有表单中的新输入元素(注意 delegate 的使用)。但不处理动态的新表单元素。可以使用 jQuery.on 对其进行修改。

如果你不喜欢这个,你可以使用其中一个 here .但是,它们中的一些过于复杂,或者有可疑的设计决策,例如用于检测新元素的 setTimeout

请注意,它需要使用两对括号,因为您正在调用一个匿名函数,然后调用返回的函数(这可以以不同的方式分解):

(function () {
// ...
})()();

关于html - IE9 HTML5 占位符 - 人们如何实现这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11303739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com