我有一些内嵌标签的表单。我有一些javascript(jQuery),用于检测焦点何时发生更改或者用户输入的文本是否改变了类,以使内联标签消失并且不阻止用户对其输入文本的查看。检测自动完成
我遇到的问题发生在浏览器自动完成表单时。以下任何条件都不会触发,因此我无法清除内嵌标签。如何检测通过自动完成输入文本的事实,以便我可以清除标签?
我使用(从http://www.zurb.com/playground/inline-form-labels)的JS:
$(document).ready(
function()
{
$("label.inlined + .input-text").each(
function(type)
{
$(this).focus(function()
{
$(this).prev("label.inlined").addClass("focus");
});
$(this).keypress(
function()
{
$(this).prev("label.inlined").addClass("has-text")
.removeClass("focus");
});
$(this).blur(
function()
{
if($(this).val() == "")
{
$(this).prev("label.inlined").removeClass("has-text")
.removeClass("focus");
}
});
});
});
谢谢!
布莱恩
听起来类似于http://stackoverflow.com/questions/343192/why-does-the-javascript-onchange-event-not-fire-if-autocomplete-is-on。 – kloffy 2010-04-22 15:40:44
您是否尝试添加“粘贴”处理程序来执行与“按键”相同的处理程序? – Pointy 2010-04-22 15:41:27
通过去kloffy的链接,它提到了jQuery'change'事件(也由zincorp提及)。这似乎不适用于我。 '粘贴'也没有工作。 – 2010-04-22 18:35:00