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




jquery w3schools (8)

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

$('#id').focus()

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

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

$('input[name="q"]').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);
}

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

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

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

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

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


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

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

প্রকৃতপক্ষে আপনি এই সাইটটিতে ফোকাস করার জন্য যে উদাহরণটি দিয়েছেন সেটি ঠিক সূক্ষ্ম কাজ করে, যতক্ষণ আপনি কনসোলে ফোকাস করেন না। যে কাজটি কাজ করছে না কারণ এটি কেবল ডেভ কনসোল থেকে ফোকাস চুরি করা হয় না। আপনি যদি আপনার কনসোলে নিম্নলিখিত কোডটি চালান এবং তারপরে আপনার ব্রাউজার উইন্ডোতে দ্রুত ক্লিক করুন, তবে আপনি এটি অনুসন্ধান বাক্সটিতে ফোকাস দেখতে পাবেন:

setTimeout(function() { $('input[name="q"]').focus() }, 3000);

আপনার অন্যের জন্য, অতীতের মধ্যে আমাকে যে সমস্যাটি দেওয়া হয়েছে তা হল ঘটনাগুলির ক্রম। আপনি ফোকাস () কে এমন উপাদানতে কল করতে পারবেন না যা DOM এর সাথে সংযুক্ত না। উপাদানটি আপনি ইতিমধ্যে ফোকাস করার চেষ্টা করছেন DOM সংযুক্ত করা হয়েছে?


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


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

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

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

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

কাজ করেছিলাম


আপনি বুটস্ট্র্যাপ + মোডাল ব্যবহার করলে, এটি আমার জন্য কাজ করে:

  $(myModal).modal('toggle');
  $(myModal).on('shown.bs.modal', function() {
    $('#modalSearchBox').focus()
  });

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

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

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







jquery