输入后(而不是焦点后)移除占位符

我正在使用Daniel Stocks的jQuery占位符插件。

这是插件:https://github.com/danielstocks/jQuery-Placeholder/blob/master/jquery.placeholder.js

除了以下小问题外,它对所有字段的效果都很好:在Chrome中,当焦点位于字段上时,占位符将一直保留,直到您键入内容为止。 但在IE和FF中,占位符文本在焦点后被删除。 我会让他们都喜欢在Chrome中表现得很好。

事情是在铬的占位符本地支持,所以即使没有插件,它的工作方式我喜欢它。 在FF中,除了前面提到的问题之外,它也可以不使用插件。 在IE中,如果没有这个插件,它就不会工作,正如你可能已经猜到的那样。


我是插件的作者。 如果您确实想禁用Chrome的原生支持,则可以编辑代码中的第71行:

var NATIVE_SUPPORT = !!("placeholder" in document.createElement( "input" ));

至:

var NATIVE_SUPPORT = false

通过这样做,您只需让所有浏览器使用该插件,即使是那些具有本机支持的插件。

我想指出,这不仅是一个“Chrome”定义的行为。 Safari(和iOS上的移动Safari)以这种方式运行。 这些用户很可能被“使用”了这种行为,所以也许会问这个问题,你到底想达到什么目的?


从第77行替换源中的以下部分:

input.focus(function() {
    placeholder.hide();
});

有了这个:

input.keyup(function() {
    if (input.val() != "") {
        placeholder.hide();
    }
});

我需要类似的东西,并为你提到的jQuery UI占位符插件做了一些修改。

http://jsfiddle.net/sigmabetatooth/5j55m/

随时与它碰撞并分享你的想法。

您也不会通过退格或其他方式清除该字段占位符返回,并且在存在占位符时选择输入时,光标将被放置在文本的开头。

@Daniel如果你对我感兴趣,只是让我知道。

链接地址: http://www.djcxy.com/p/70533.html

上一篇: Remove placeholder after type (and not after focus)

下一篇: How to remove bottom line from Input text