link - jquery w3schools




$। ফোকাস() কাজ করছে না (7)

অতিরিক্ত সমাধান একই সমস্যা ছিল যেখানে ফোকাস () কাজ করে বলে মনে হচ্ছে না কিন্তু অবশেষে এটি প্রয়োজনীয় হয়ে উঠেছিল যে সঠিক অবস্থানে স্ক্রোল করা হয়েছিল:

  • https://stackoverflow.com/a/43342974/1335717

JQuery এর focus() ডকুমেন্টেশন রাজ্যের শেষ উদাহরণ

$('#id').focus()

ইনপুট দৃষ্টি নিবদ্ধ করা উচিত (সক্রিয়)। আমি এই কাজ পেতে বলে মনে হচ্ছে না।

এমনকি এই সাইটে কনসোল, আমি অনুসন্ধান বাক্সের জন্য এটি চেষ্টা করছি

$('input[name="q"]').focus()

এবং আমি কিছুই পাচ্ছি না। কোন ধারনা?


অন্য কেউ যদি এই প্রশ্ন জুড়ে হোঁচট খায় এবং আমার একই অবস্থা থাকে - আমি অন্য উপাদানটিতে ক্লিক করার পরে ফোকাস সেট করার চেষ্টা করছিলাম, তবুও ফোকাস কাজ করতে দেখল না। এটা সক্রিয় আমি একটি e.preventDefault(); - এখানে একটি উদাহরণ:

$('#recipients ul li').mousedown(function(e) {
    // add recipient to list
    ...
    // focus back onto the input
    $('#message_recipient_input').focus();
    // prevent the focus from leaving
    e.preventDefault();
});

এটি সাহায্য করেছে:

যদি আপনি একটি mousedown ইভেন্ট হ্যান্ডলার থেকে HTMLElement.focus () কল করেন, তবে আপনাকে অবশ্যই HTMLElement টি থেকে ফোকাস রাখতে event.preventDefault () কল করতে হবে। উৎস: https://developer.mozilla.org/en/docs/Web/API/HTMLElement/focus


আমি এই পুরানো বুঝতে, কিন্তু আজ জুড়ে এসেছিলেন। উত্তরগুলির কোনটি আমার জন্য কাজ করে নি, যেটা আমি দেখেছি সেটাই ছিল সেটটাইম সেট। আমি আমার ফোকাসটি একটি টাইপ টাইমআউট ব্যবহার করে একটি মডেল দায়ের ইনপুট উপর স্থাপন করা চেয়েছিলেন। আশাকরি এটা সাহায্য করবে!


আমি এই সমস্যা ছিল। আমার ক্ষেত্রে কাজ করা সমাধান এইচটিএমএল এলিমেন্টে tabindex সম্পত্তি ব্যবহার করা হয়।

আমি একটি লিস্টের ভিতরে কিছু লি এলিমেন্টের জন্য ng-repeat ব্যবহার করছিলাম এবং আমি ফক্সের () ফোকাস ব্যবহার করে প্রথম লি তে ফোকাস আনতে সক্ষম নই, তাই আমি কেবল লুপের সময় প্রতিটি লিবার ট্যাবন্ডেক্স বৈশিষ্ট্য যোগ করেছি।

তাই এখন <li ng-repeat="user in users track by $index" tabindex="{{$index+1}}"></li>

যে +1 সূচী 0 থেকে শুরু হয়। এছাড়াও নিশ্চিত করুন যে উপাদানটি। ফোকাস () ফাংশন কল করার আগে DOM এ উপস্থিত রয়েছে

আশা করি এটা কাজে লাগবে.


কাজ না করার সমস্যাগুলির জন্য যাদের আপনি "$ (উপাদান) .show ()" ব্যবহার করেছেন। আমি এটা পরবর্তী ভাবে সমাধান:

 var textbox = $("#otherOption");
 textbox.show("fast", function () {
    textbox[0].focus();
  });

সুতরাং আপনি টাইমার প্রয়োজন হবে না, শো পদ্ধতি সম্পন্ন করার পরে এটি কার্যকর হবে।


নেট অন্যত্র একটি সমাধান পাওয়া গেছে ...

$('#id').focus();

এটা কাজ করছে না.

$('#id').get(0).focus();

কাজ করেছিলাম


ফোকাস আগে একটি বিলম্ব যোগ করুন ()। 200 মিঃ যথেষ্ট

function focusAndCursor(selector){
  var input = $(selector);
  setTimeout(function() {
    // this focus on last character if input isn't empty
    tmp = input.val(); input.focus().val("").blur().focus().val(tmp);
  }, 200);
}




jquery