2013-06-19 110 views
-1

我試圖在點擊.ss-result a和模糊input時觸發此警報。當這兩件事發生時。單擊事件不觸發警報

在輸入焦點上出現錨點。然後,當點擊錨點時,點擊事件應該被註冊,並且由於焦點從輸入中取消,所以輸入上的模糊甚至應該被註冊。

那麼,爲什麼不這樣運行呢。

點擊,是不是轉移到.ss-result a重點?所以當點擊錨點時,警報應該會觸發,對吧?

我想要做的是要知道模糊事件何時發生在input以及焦點是否由於被點擊而轉移到.ss-result a。在這種情況下,如何運行JavaScript,在這種情況下是警報?

這裏是我的代碼:

$('.ss-result').fadeOut(); 

$('input').focus(function(){ 
    $('.ss-result').fadeIn(); 
}); 
var inputObj = $('input'); 
var boxObj = $('.ss-result'); 
inputObj.blur(function() { 
    if($('.ss-result a').is(':focus')){ 
     alert("clicked!"); 
} 
else{ 
    boxObj.fadeOut(100); 
} 
}); 

這裏是一個JS FIDDLE在那裏你可以嘗試一下:http://jsfiddle.net/CtcB8/

+1

它不能集中,如果是onblur ... –

+1

這是我第三次看到這個問題通過滾動。 – tymeJV

回答

1

它不能不管,所以你可以只是做

​​

並響應點擊事件。

編輯:感謝@Igor指出不必要的位。

+0

將'$('。ss-result a')'永遠解析爲'false'? – Igor

+0

不是。這根本不需要。只是懶惰。 – Ryan

+0

如何響應點擊事件?只是在裏面聽呢? –