আমার যদি স্টার্টআপে প্রচুর ফাংশন থাকে তবে সেগুলি কি একটিরই অধীনে থাকতে হবে:
$(document).ready(function() {
বা আমার কি একাধিক বিবৃতি থাকতে পারে?
আমার যদি স্টার্টআপে প্রচুর ফাংশন থাকে তবে সেগুলি কি একটিরই অধীনে থাকতে হবে:
$(document).ready(function() {
বা আমার কি একাধিক বিবৃতি থাকতে পারে?
উত্তর:
আপনার একাধিক থাকতে পারে তবে এটি করা সর্বদা সর্বাধিক নেটেস্ট জিনিস নয়। এগুলি অত্যধিক ব্যবহার না করার চেষ্টা করুন, কারণ এটি গুরুতরভাবে পাঠযোগ্যতার উপর প্রভাব ফেলবে। তা ছাড়া এটি পুরোপুরি আইনী। নীচে দেখুন:
http://www.learningjquery.com/2006/09/multiple-document-ready
এটি ব্যবহার করে দেখুন:
$(document).ready(function() {
alert('Hello Tom!');
});
$(document).ready(function() {
alert('Hello Jeff!');
});
$(document).ready(function() {
alert('Hello Dexter!');
});
আপনি দেখতে পাবেন এটি এর সমতুল্য, মৃত্যুদন্ড কার্যকর করার আদেশটি নোট করুন:
$(document).ready(function() {
alert('Hello Tom!');
alert('Hello Jeff!');
alert('Hello Dexter!');
});
এটিও লক্ষণীয় যে একটি $(document).readyব্লকের মধ্যে সংজ্ঞায়িত একটি ফাংশন অন্য $(document).readyব্লক থেকে কল করা যায় না , আমি এই পরীক্ষাটি চালিয়েছি:
$(document).ready(function() {
alert('hello1');
function saySomething() {
alert('something');
}
saySomething();
});
$(document).ready(function() {
alert('hello2');
saySomething();
});
আউটপুট ছিল:
hello1
something
hello2
আপনি একাধিক ব্যবহার করতে পারেন। তবে আপনি একটি নথির ভিতরেও একাধিক ফাংশন ব্যবহার করতে পারেন ready পাশাপাশি প্রস্তুত:
$(document).ready(function() {
// Jquery
$('.hide').hide();
$('.test').each(function() {
$(this).fadeIn();
});
// Reqular JS
function test(word) {
alert(word);
}
test('hello!');
});
হ্যাঁ একাধিক document (দস্তাবেজ) .ডিডি () কল করা সম্ভব। তবে আমি মনে করি না যে আপনি কীভাবে তাদের কার্যকর করা হবে তা আপনি জানতে পারবেন। (উৎস)
Ready handlers bound this way are executed after any bound by the other three methods above.
হ্যাঁ এটি সম্ভব তবে আপনি একটি ডিভ # এমডিআইভি ব্যবহার করতে পারেন এবং উভয়ই ব্যবহার করতে পারেন
$(document).ready(function(){});
//and
$("#mydiv").ready(function(){});
হ্যাঁ, এটি পুরোপুরি ঠিক আছে ut তবে কারণ ছাড়াই এটি করা এড়ানো। উদাহরণস্বরূপ, আমি যখন এটি আমার জাভাস্ক্রিপ্ট ফাইলগুলি গতিশীলভাবে উত্পন্ন করত তখন ভারতবর্ষের পৃষ্ঠাগুলির চেয়ে বিশ্বব্যাপী সাইটের নিয়মগুলি আলাদাভাবে ঘোষণা করতে ব্যবহার করেছিলাম তবে আপনি যদি এটির উপর থেকে চালিয়ে যান তবে এটি পড়তে অসুবিধা হবে।
এছাড়াও আপনি অন্য jQuery(function(){});কল থেকে কিছু পদ্ধতি অ্যাক্সেস করতে পারবেন না
যাতে এটি অন্য কারণ হতে চান না।
পুরানো সাথে window.onloadযদিও আপনি প্রতিবার কোনও ফাংশন নির্দিষ্ট করে পুরানোটিকে প্রতিস্থাপন করবেন।
হ্যা, তুমি পারো.
একাধিক ডকুমেন্ট প্রস্তুত বিভাগগুলি বিশেষত দরকারী যদি আপনার যদি একই পৃষ্ঠাতে ব্যবহৃত মডিউলগুলি ব্যবহার করে থাকে। পুরানো window.onload=funcঘোষণার সাথে, যতবার আপনি কল করার জন্য কোনও ফাংশন নির্দিষ্ট করেছেন, এটি পুরানোটিকে প্রতিস্থাপন করেছে।
এখন সুনির্দিষ্ট সমস্ত ফাংশনগুলি সারিবদ্ধ / স্ট্যাকড (কোনওটি নিশ্চিত করতে পারে?) তারা কোন নথির প্রস্তুত বিভাগে সুনির্দিষ্ট করে নির্বিশেষে।
আমি মনে করি যেতে যাওয়ার আরও ভাল উপায় হ'ল নামযুক্ত ফাংশনগুলিতে স্যুইচ করা (সেই বিষয়ে আরও তথ্যের জন্য এই ওভারফ্লোটি পরীক্ষা করুন) । এইভাবে আপনি তাদের একক ইভেন্ট থেকে কল করতে পারেন।
তাই ভালো:
function firstFunction() {
console.log("first");
}
function secondFunction() {
console.log("second");
}
function thirdFunction() {
console.log("third");
}
এইভাবে আপনি তাদের একক প্রস্তুত ফাংশনে লোড করতে পারেন।
jQuery(document).on('ready', function(){
firstFunction();
secondFunction();
thirdFunction();
});
এটি নিম্নলিখিতটি আপনার কনসোল.লগে আউটপুট দেবে:
first
second
third
এইভাবে আপনি অন্যান্য ইভেন্টগুলির জন্য ফাংশনগুলি পুনরায় ব্যবহার করতে পারেন।
jQuery(window).on('resize',function(){
secondFunction();
});
এটি আইনী, তবে কখনও কখনও এটি অনাকাঙ্ক্ষিত আচরণের কারণ হয়। উদাহরণ হিসাবে আমি ম্যাজিকসুজেস্ট লাইব্রেরিটি ব্যবহার করেছি এবং আমার প্রকল্পের একটি পৃষ্ঠায় দুটি ম্যাজিকসুজেস্ট ইনপুট যুক্ত করেছি এবং ইনপুটগুলির প্রতিটি সূচনাকরণের জন্য পৃথক নথির প্রস্তুত ফাংশন ব্যবহার করেছি। প্রথম ইনপুট সূচনাটি কাজ করেছিল, তবে দ্বিতীয়টি নয় এবং কোনও ত্রুটিও দিচ্ছে না, দ্বিতীয় ইনপুট প্রদর্শিত হয়নি। সুতরাং, আমি সর্বদা একটি ডকুমেন্ট রেডি ফাংশন ব্যবহার করার পরামর্শ দিই।
এমনকি অন্তর্ভুক্ত এইচটিএমএল ফাইলগুলির অভ্যন্তরে বাসা নথির প্রস্তুত ফাংশনগুলিও করতে পারেন। এখানে jquery ব্যবহার করে একটি উদাহরণ দেওয়া হয়েছে:
ফাইল: test_main.html
<!DOCTYPE html>
<html lang="en">
<head>
<script src="jquery-1.10.2.min.js"></script>
</head>
<body>
<div id="main-container">
<h1>test_main.html</h1>
</div>
<script>
$(document).ready( function()
{
console.log( 'test_main.html READY' );
$("#main-container").load("test_embed.html");
} );
</script>
</body>
</html>
ফাইল: test_e એમ્બેડ.html
<h1>test_embed.html</h1>
<script>
$(document).ready( function()
{
console.log( 'test_embed.html READY' );
} );
</script>
কনসোল আউটপুট:
test_main.html READY test_main.html:15
test_embed.html READY (program):4
ব্রাউজার শো:
test_embed.html
আপনি এটি নিম্নলিখিত উপায়েও করতে পারেন:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#hide").click(function(){
$("#test").hide();
});
$("#show").click(function(){
$("#test").show();
});
});
</script>
</head>
<body>
<h2>This is a test of jQuery!</h2>
<p id="test">This is a hidden paragraph.</p>
<button id="hide">Click me to hide</button>
<button id="show">Click me to show</button>
</body>
পূর্ববর্তী উত্তরগুলি একক .ডিডি ব্লকের ভিতরে একাধিক নামযুক্ত ফাংশন ব্যবহার করে বা .ডিডি ব্লকের একটি একক নামবিহীন ফাংশন, রেডি ব্লকের বাইরে অন্য নামের ফাংশন ব্যবহার করে দেখায়। .ডি ব্লকের ভিতরে একাধিক নামবিহীন ফাংশন রাখার উপায় ছিল কিনা তা নিয়ে গবেষণা করার সময় আমি এই প্রশ্নটি পেয়েছি - বাক্য গঠনটি সঠিকভাবে পেলাম না। অবশেষে আমি এটি আবিষ্কার করেছি এবং আশা করেছি যে আমার পরীক্ষার কোডটি পোস্ট করার মাধ্যমে আমি অন্যদের আমার কাছে একই প্রশ্নের উত্তর খুঁজতে সহায়তা করব