2010-02-08 13 views
6

कोड के निम्नलिखित भाग के साथ ... क्या यह कहना संभव है, यदि ली क्लिक किया गया तो ऐसा नहीं किया गया है (उपयोगकर्ता कहीं और क्लिक करें) ऐसा करते हैं? यदि उपयोगकर्ता सूची में कुछ क्लिक करता है तो कोड केवल गाय गायब हो जाएगा। मुझे गायब होने की ज़रूरत है अगर वे कहीं और भी क्लिक करें ... ?? धन्यवाद!jQuery अगर क्लिक किया गया है?

.bind('blur', function() { 
    $('#search_suggestions_list li').click(function() { 
     var selectedString = $(this).text(); 
     $('#search-box').val(selectedString); 
     setTimeout("$('#search_suggestions').fadeOut('fast');", 200); 
    }) 
}) 

उत्तर

8
$(document).click(function(){ 
    //user clicked anywhere on the page 
}); 

$('#search_suggestions_list li').click(function() { 
    //user clicked on the li 
    return false; 
}); 

अन्यथा दस्तावेज़ क्लिक करें घटना के साथ-साथ बुलाया जाएगा झूठी वापस जाने के लिए सुनिश्चित करें।

+0

$ (दस्तावेज़) .click() हमेशा किसी भी क्लिक – hunter

+7

पर सक्रिय होगा झूठी लौटने तक , आप बुलबुले रोकते हैं, तो document.click फ़ंक्शन नहीं चलाया जाएगा। मैंने सवाल को गलत समझा होगा, लेकिन मुझे लगता है कि वह क्या पूछ रहा है। – munch

+0

+1 यदि आप '$ ('# search_suggestions_list') जोड़ते हैं तो यह काम करना चाहिए। दस्तावेज़ (या 'दस्तावेज़ में समान कुछ क्लिक करें, और/या खोज सुझाव दिखा रहे समय समाप्ति को साफ़ करें। –

0
$('#search_suggestions_list li').click(function() { 
    var selectedString = $(this).text(); 
    $('#search-box').val(selectedString); 
    setTimeout("$('#search_suggestions').fadeOut('fast');", 200); 
}) 

$('#search-box').blur(function(){ 
    // do something else 
}); 
3

दस्तावेज़ पर क्लिक करें घटना संभाल, और फिर अपने li पर क्लिक करें घटना संभाल। li के लिए क्लिक करें घटना के अंदर, दस्तावेज़ (पैरेंट) शुरू होने से ही घटना को रोकने के लिए क्लिक करें stopPropogation समारोह का उपयोग करें ...

$(document).click(function() { 
    // Clicked outside the LI 
}); 

$('#search_suggestions_list li').click(function(e) { 
    var selectedString = $(this).text(); 
    $('#search-box').val(selectedString); 
    setTimeout("$('#search_suggestions').fadeOut('fast');", 200); 

    e.stopPropagation(); // Stops document.click from firing 
}) 
संबंधित मुद्दे