2011-02-24 27 views
6

मैं सत्यापन विफल होने पर धुंध पर एक टेक्स्ट बॉक्स पर ध्यान केंद्रित करने के लिए jquery का उपयोग कर रहा हूं। लेकिन यह आईई में काम कर रहा है लेकिन एफएफ काम नहीं कर रहा है। कोई सुझाव?jquery फोकस धुंध पर काम नहीं कर रहा है

$("#inputBoxId").blur(function() { 
    if ($(this).val() < 10) 
     $("#inputBoxId").focus(); 

}); 
+0

दोस्तों, मैं ".focus के साथ समस्या यह ve() इसकी हालत में हालत बैठक also..no समस्या के बाद नहीं मिल रहा है फोकस !! – Manu

उत्तर

13

ऐसा लगता है कि आप इस question के अनुसार setTimeout का उपयोग करने की जरूरत है दे देंगे। चूंकि आप तत्काल किसी तत्व पर ध्यान दे रहे हैं, इसलिए तत्व को पहले फोकस से बाहर जाने के लिए आपको कुछ समय के लिए खाते की आवश्यकता है।

$("#inputBoxId").blur(function() { 
    if ($(this).val() < 10) { 
     setTimeout(function() { 
      $("#inputBoxId").focus(); 
     }, 100); 
    } 
}); 

यह jsfiddle पर काम करने का उदाहरण, क्रोम डेव चैनल, फ़ायरफ़ॉक्स, और IE8 पर बाहर का परीक्षण किया।

+0

केवल एक एफएफ मुद्दे की तरह लगता है। 0 भी 100 के बजाय काम करेगा – krishna

+0

धन्यवाद, यह निश्चित रूप से समय बचा है – Arjun

1

val() स्ट्रिंग, नहीं संख्या वापस आ जाएगी। कनवर्ट करने का प्रयास करें और इसे काम करना चाहिए:

var value = parseInt($(this).val(), 10); 
if (isNaN(value) || value < 10) 
     $("#inputBoxId").focus(); 

यह गैर संख्यात्मक मानों से भी निपटेंगे।

+0

मुझे नहीं पता ऐसा लगता है कि यह एक फर्क पड़ता है क्योंकि टाइप स्ट्रिंग किसी भी प्रकार की तुलना में होती है जब भी एक स्ट्रिंग की तुलना किसी संख्या से की जाती है। हालांकि "<10 === सच', तो शायद यह एक फर्क पड़ेगा;) –

+0

@ बॉक्स 9 शायद एफएफ के पुराने संस्करण जीते अपने आप से टाइप रूपांतरण नहीं करते .. .. –

+0

समस्या इस प्रकार के साथ नहीं थी..यह फोकस इवेंट के साथ था .. अब विकसित हुआ :) – Manu

0

$(this).val().length भी लंबाई

$("#inputBoxId").blur(function() { 
    if($(this).val().length < 10){ 
      $(this).focus(); 
    } 
}); 
0

// पृष्ठ दृश्यता:।

document.addEventListener('visibilitychange', function() { 

     if (document.hidden) { 
      // stop running expensive task 

     } else { 
      // page has focus, begin running task 

     } 
    }); 
संबंधित मुद्दे