我有像这样的HTML标记
<li id="fSearch" class="alwsShown">
<div class="dark overflowHidden" id="fSearchBg">
<input type="text" id="filter" name="" style="width:140px" tabindex="1" class="fullWidth opt resetBorderNShd resetShd" value="" autocomplete="off" title="Search" value=""/>
<span id="stopSearch" class="imgSprite stopSearch displayNone poAbs"></span>
</div>
</li>
使用过的jquery
var test = function() {
var self = this,
$filter = $("#filter"),
$fSearchBg = $("#fSearchBg"),
$stopSearch = $(".stopSearch");
// Blur
$filter.blur(function() {
$filteranimate({
width: "140px"
}, 200, function() {
$fSearchBg.removeClass("light").addClass("dark");
$stopSearch.hide();
});
});
$stopSearch.click(function(event){
$filter.val("");
$(this).hide('fast');
event.preventDefault()
event.stopPropagation();
});
// Focus
$filter.focus(function() {
// animate
$filter.animate({
width: "285px"
}, 200);
$fSearchBg.removeClass("dark").addClass("light");
});
});
在我的情况下,我的输入框的宽度为140px,当用户专注于输入框时,我将其设置为284px,当我点击任何地方时,我处理模糊事件。现在我的要求是当我点击十字图标时输入框内有一个十字图标,我必须执行一些任务,但是当我点击十字图标时我不想点火。如果已经有模糊事件,请建议我如何处理点击。
答案 0 :(得分:1)
如果您可以检测到图标,请单击设置一些全局JavaScript标记,如
iconclicked = true;
在blur方法中使用此图标,如果为真则返回