Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击整个跨度_Jquery - Fatal编程技术网

Jquery 单击整个跨度

Jquery 单击整个跨度,jquery,Jquery,我有一个span标记,位于输入字段上。我想做的是,当你点击输入字段时,包含文本的范围就会被隐藏。然后在模糊上显示。这一切都可以使用jquery实现。问题是因为span位于输入字段的顶部,当您单击span文本时,不会触发输入焦点。有没有一种方法可以绕过这个问题,而不让span停止输入字段焦点的工作。如果单击span,您可以在输入上设置焦点 $('#span').click(function() { $('#input').focus(); }); $('#input').focus

我有一个span标记,位于输入字段上。我想做的是,当你点击输入字段时,包含文本的范围就会被隐藏。然后在模糊上显示。这一切都可以使用jquery实现。问题是因为span位于输入字段的顶部,当您单击span文本时,不会触发输入焦点。有没有一种方法可以绕过这个问题,而不让span停止输入字段焦点的工作。

如果单击span,您可以在输入上设置焦点

$('#span').click(function() {

     $('#input').focus();

});

$('#input').focus(function() {

     $('#span').hide();

});

$('#input').blur(function() {

     $('#span').show();

});

假设这是你的代码

<span id="span">Some text to hide</span>
<input id="input" type="text" />

请展示您正在使用的html。如果您能提供一个代码示例来说明您的问题,这会很有帮助。是否有一种方法可以检测输入字段上是否发生了自动填充。我看不到任何适用于此的事件。jQuery本身没有,但有插件。使用谷歌来实现这一点@对我来说,这听起来像是一个不同的问题。使用这样的代码的问题是你没有缓存选择器,导致Javascript中不必要的缓慢。有关缓存选择器的示例,请参见我的答案。
var span = $('#span'),
    input = $('#input');

input.focus(function() {
    span.hide();
}).blur(function() {
    span.show();
});

span.click(function() {
    input.focus();
});