में काम नहीं करता है मैं कुछ ऑटो-समापन कोड के साथ काम कर रहा हूं। setSelectionRange()
का उपयोग टेक्स्ट को चुनने के लिए oninput
ईवेंट हैंडलर में पूरा किया गया है। यह कम से कम फ़ायरफ़ॉक्स 14 में काम करता है, लेकिन क्रोम में नहीं (6, 17)।क्रोम सेट चयन चयन() ऑनपूट हैंडलर
सरलीकृत कोड समस्या का प्रदर्शन टुकड़ा इस तरह है:
<input type='text' oninput='select()' />
function select(e){
var s = this.value;
if (s.length)
this.setSelectionRange(s.length-1, s.length);
}
मैं क्रोम में कोड डिबग, और यह है कि पाठ पहला अधिकार पर चयनित किया गया है के बाद setSelectionRange()
फांसी दे दी जाती पता चला है , लेकिन चयन बाद में गायब हो गया।
तो मैं onclick
बजाय oninput
को हैंडलर बाँध, इस तरह:
<input type='text' onclick='select()' />
तो दोनों ब्राउज़र ठीक काम करते हैं।
क्या कोई मुझे क्रोम में चयन कार्य करने के लिए कुछ सुराग दे सकता है?
यह हो सकता है कि आप कॉल करने के लिए की जरूरत 'this.focus()' setSelectionRange को कॉल करने से पहले()। यहां उदाहरण देखें https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#Example –