Javascript 文本框内的可单击图标
我正在尝试在文本框中插入一个应该可以单击的图像。请看一下到目前为止我编写的代码。我确实创建了一个类,并在其中插入了一个背景图像 现在,我的问题是,我应该如何使其可点击Javascript 文本框内的可单击图标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试在文本框中插入一个应该可以单击的图像。请看一下到目前为止我编写的代码。我确实创建了一个类,并在其中插入了一个背景图像 现在,我的问题是,我应该如何使其可点击 $(文档).ready(函数(){ $('.icon')。单击(函数(){ $('.text here').innerHTML=“请输入您的用户名”; }); }); 。图标{ 背景图片:url(http://directorzcut.com/modules/aqb/profile_mp3_player/templates/ba
$(文档).ready(函数(){
$('.icon')。单击(函数(){
$('.text here').innerHTML=“请输入您的用户名”;
});
});代码>
。图标{
背景图片:url(http://directorzcut.com/modules/aqb/profile_mp3_player/templates/base/images/icons/popout.png);
背景重复:无重复;
背景位置:左;
光标:指针;
}
.文本框{
左侧填充:20px;
}
使用$('.text here').html(“请输入您的用户名”)代码>
$(文档).ready(函数(){
$('.icon')。单击(函数(){
$('.text here').html(“请输入您的用户名”);//仅更改此行
});
});代码>
。图标{
高度:20px;
宽度:20px;
边缘底部:-5px;
}
.文本框{
左侧填充:20px;
}
试试这个
Html
<div class="header-search">
<input type="text">
<a href="javascript:;" id="link" >
<img class="img-seach" src="https://cdn1.iconfinder.com/data/icons/hawcons/32/698627-icon-111-search-128.png">
</a>
</div>
脚本
$('#link').click(function(){
alert("clicked");
})
背景图像不是元素,因此不可单击。您应该将图标作为一个单独的元素,并将click
处理程序分配给它
新创建的图标元素应该是输入
的同级元素,并在为输入
元素指定适当的左填充
值后,使用css将其放置在图标元素的顶部
查看此演示:
$('#container.icon')。在('click',function()上{
console.log('BOOYAAAA');
});代码>
#容器{位置:相对;}
输入{左填充:20px;}
.图标{
显示:块;
位置:绝对位置;
顶部:4px;
左:4px;
宽度:13px;
高度:13px;
背景色:红色;
}
在我的理解中,正确的方法是拥有一个
试试这个
右键单击图标并在“新建”选项卡中打开它
$(文档).ready(函数(){
$('.icon')。单击(函数(){
$('.text here').innerHTML=“请输入您的用户名”;
});
});代码>
。图标{
显示:内联块;
背景图片:url(http://directorzcut.com/modules/aqb/profile_mp3_player/templates/base/images/icons/popout.png);
背景重复:无重复;
背景位置:左;
位置:绝对位置;
宽度:20px;
高度:20px;
顶部:-1px;
左:7px;
z指数:1;
光标:指针;
颜色:蓝色;
}
.文本框{
左侧填充:20px;
位置:相对位置;
}
.组{
位置:相对位置;
}
如果我理解正确,您可以使用标签
元素将img
包装为for
指针指向输入
单击标签时,输入将获得焦点
我正在使用指针事件:none
在不单击元素的情况下禁用对输入的聚焦。(指针事件
是不是跨浏览器)
此外,我还修复了您的js(.html()
而不是.innerHTML=
)
$(文档).ready(函数(){
$('.icon')。单击(函数(){
$('.text here').html('请输入您的用户名');
});
});代码>
。输入包装器{
位置:相对位置;
}
.图标{
位置:绝对位置;
最高:50%;
左:5px;
z指数:1;
高度:10px;
页边顶部:-5px;
}
.图标img{
显示:块;
}
.文本框{
左侧填充:20px;
高度:30px;
宽度:250px;
/*指针事件:无*/
}
图标在哪里,图标没有显示在输出中。很抱歉,我错过了css部分。让我编辑它,这很好,但只有图标区域应该是可点击的。我该怎么做?@Harish然后你必须创建一个独立的图标元素,而不是在输入框中。实际上我不想使用绝对定位,除了绝对定位还有其他方法吗?可能是,但我只有这个解决方案@Harish@Harish我能问一下你对立场:绝对代码>?在你的情况下,这是正确的方向,我在回答中也解释了。实际上,当我使用绝对定位时,图像会根据需要定位在文本框内,但它没有响应。这段代码很好,但文本框只有在我单击标签图标时才会聚焦@Mosh说,图标也应该在响应屏幕上工作。这意味着,每当文本框的大小减小时,图标应位于文本框内的相同位置。这可以做到吗?我想你只需要点击图标就可以启用tetxbox。反正我把它拿走了。我还改变了文本框的大小,图标相对文本框保持在相同的位置。如果不行,你是什么意思?是的,这就是我现在想要的。谢谢:)@Mosh-Feu
$('#link').click(function(){
alert("clicked");
})