使搜索字段的背景可单击

时间:2013-09-20 20:25:13

标签: javascript html css search

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图像相同的位置点击。但是,我认为这太麻烦了。 还有其他方法吗?

谢谢! :)

1 个答案:

答案 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事件并将光标更改为指针。