我有一个搜索,焦点越来越大,模糊变得越来越小。我的问题是,即使你点击建议区域,它导致动画运行。有没有办法使它成为如果您在建议区域中单击此代码不执行。
$('.search').blur(function(e) {
if ( !clickedInSuggest ) {
$(this).animate({ width : '50px' }, 150);
}
});
HTML:
<li class="search">
<form class="searchContainer" action="<?php echo Uri::create('search') ?>" method="get">
<input autocomplete="off" name="name" placeholder="Search" tabindex="1" type="text" value="" />
<button type="submit" class="submit"></button>
</form>
<div class="suggestions">
<ul>
<li></li>
</ul>
</div>
</li>
答案 0 :(得分:1)
......等等......我刚刚在不同情况下解决了这个问题,现在我记得:
$(function(){
var flag=true;
$('.suggestions').mousedown(function(){
flag=false;
})
$('.suggestions').mouseup(function(){
flag=true;
})
$('.search').blur(function(e){
if(flag==false){
e.preventDefault();
}
$('....').animate({...})..etc
})
})
为什么这样做是因为mousedown事件在blur事件之前触发,而blur事件在click事件之前触发。
祝你好运。