如何使用单击事件jquery处理模糊事件

时间:2012-04-17 07:49:03

标签: javascript jquery html css

我有像这样的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,当我点击任何地方时,我处理模糊事件。现在我的要求是当我点击十字图标时输入框内有一个十字图标,我必须执行一些任务,但是当我点击十字图标时我不想点火。如果已经有模糊事件,请建议我如何处理点击。

1 个答案:

答案 0 :(得分:1)

如果您可以检测到图标,请单击设置一些全局JavaScript标记,如

iconclicked = true;

在blur方法中使用此图标,如果为真则返回