HTML
<div class = "search ui-widget">
<label for = "keyword"></label>
<input type="text" id="keyword" onkeypress="searchKeyPress(event)">
<input type="button" id="btnSearch" onclick="loadNearMeSearchFav('search', keyword.value,'','','no')" />
</div>
CSS
.search input[type="text"]:focus {
width: 12%;
outline: 0;
box-shadow: 0 0 8px rgba(81, 203, 238, 1);
background: url(../../img/menu/searchClose.png) 3% 50% no-repeat #f3f3f3;
padding-left: 30px;
}
以上是输入文本的html和css代码。事情是当用户点击输入字段时,将出现searchClose图像。问题是我想使searchClose可点击,以便用户可以通过点击轻松删除输入。我已经阅读了很多网站,并建议制作一个透明的脚踝标签,可以在与我的searchClose图像相同的位置点击。但是,我认为这太麻烦了。 还有其他方法吗?
谢谢! :)
答案 0 :(得分:1)
我认为searchClose.png看起来像这样
[ ]
[ [x]]
[ ]
然后你需要从角落的顶部和左边(使用一些图形程序)获得X
的位置(以像素为单位)并在javascript中使用onclick中的一些数学
如果你使用jQuery,那么它可能看起来像:
var search = $('.search input[type="text"]');
var offset = search.offest();
search.click(function(e) {
var x = e.pageX - offset.left;
var y = e.pageY - offset.top;
if (x > YOUR_LEFT_POSITION_OF_THE_BUTTON &&
x < YOUR_WIDTH_OF_THE_BUTTON + YOUR_LEFT_POSITION_OF_THE_BUTTON &&
y > YOUR_TOP_POSITION_OF_THE_BUTTON &&
y < YOUR_HEIGHT_OF_THE_BUTTON + YOUR_TOP_POSITION_OF_THE_BUTTON) {
// YOU CLICK INSIDE A BUTTON
}
});
您还可以添加mousemove事件并将光标更改为指针。