单击占位符不会使输入处于活动状态

发布于 2024-12-07 13:22:01 字数 297 浏览 1 评论 0原文

我正在使用 jQuery 使用 HTML5 占位符的解决方法。唯一的问题是,如果我单击占位符 本身,输入字段不会变为活动状态。为了使其激活,我必须在输入内部但占位符外部单击。

这是一个 jsFiddle 显示发生了什么: http://jsfiddle.net/QXeQy/1/

如果我给跨度一个负的 z-index 它就消失了。我该如何解决这个问题?

I am using a work-around for HTML5 placeholder using jQuery. The only problem is that if I click on the placeholder <span> itself, the input field doesn't become active. For it to become active I have to click inside the input but outside of the placeholder.

Here is a jsFiddle showing what's going on: http://jsfiddle.net/QXeQy/1/

If I give the span a negative z-index it disappears. How can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

郁金香雨 2024-12-14 13:22:01

你的跨度妨碍了你的输入。尝试添加以下内容:

$("span.holder").click(function() {
    $(this).next().focus();
});

http://jsfiddle.net/QXeQy/2/

Your span is in the way of your input. Try adding this:

$("span.holder").click(function() {
    $(this).next().focus();
});

http://jsfiddle.net/QXeQy/2/

耶耶耶 2024-12-14 13:22:01

使用 代替 span

<label for="search">Placeholder text</label><input type="search" name="search" id="search" />

,然后使用以下 javascript:

$('#search').focus(function(){
  $('label[for=search]').hide();
}

$('#search').blur(function(){
  if($('#search').val() == '' )
    {
      $('label[for=search]').show();
    }
}

instead of span use <label>

<label for="search">Placeholder text</label><input type="search" name="search" id="search" />

and then use this javascript:

$('#search').focus(function(){
  $('label[for=search]').hide();
}

$('#search').blur(function(){
  if($('#search').val() == '' )
    {
      $('label[for=search]').show();
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文