jQuery - $ (ডকুমেন্ট) .ডিডি এবং window (উইন্ডো) .লোডের মধ্যে পার্থক্য কী?


319

মধ্যে পার্থক্য কি

$(document).ready(function(){
 //my code here
});

এবং

$(window).load(function(){
  //my code here
});

এবং আমি এটি নিশ্চিত করতে চাই:

$(document).ready(function(){

}) 

এবং

$(function(){

}); 

এবং

jQuery(document).ready(function(){

});

সব একই.

তাদের মধ্যে কি পার্থক্য এবং সাদৃশ্য বলতে পারেন?



1
Lolz, তিনি আমার পরে একই লিঙ্কটি থেকে অনুলিপি করেছিলেন (উল্লেখ না করে) এবং গ্রহণ করেছেন: পি পাঠ শিখেছে, বিকাশকারীদের ব্যাখ্যা করবেন না, তারা কোডটি দেখতে পছন্দ করেন: ডি
রিফাত

@ রিফাত আমি দুঃখিত, তবে ওয়েমের ফর্ম্যাটটি পড়তে সহজ> _ <
হাঙ্গনক্স

1
@ ইউরেকা ঠিক আছে আপনার দুঃখিত হওয়ার দরকার নেই :) আমরা দুজনেই আপনাকে সাহায্য করার চেষ্টা করেছি। তবে, তার ক্রেডিটটি উল্লেখ করা উচিত ছিল: পি
রিফাত

উত্তর:


432

$(document).ready(function() {
  // executes when HTML-Document is loaded and DOM is ready
  console.log("document is ready");
});


$(window).load(function() {
  // executes when complete page is fully loaded, including all frames, objects and images
  console.log("window is loaded");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

ক্যোয়ারী 3.0 সংস্করণ

ব্রেকিং পরিবর্তন: .লোড (), .নলোড () এবং .error () সরানো হয়েছে

এই পদ্ধতিগুলি ইভেন্ট ক্রিয়াকলাপগুলির শর্টকাট, তবে বেশ কয়েকটি এপিআই সীমাবদ্ধতা ছিল। ইভেন্ট .load()পদ্ধতিটি আজাক্স .load() পদ্ধতির সাথে বিরোধী । .error()পদ্ধতি ব্যবহার করা হয়েছে করা যায়নি window.onerror কারণ উপায় করে DOM পদ্ধতি সংজ্ঞায়িত করা হয় এর। আপনার যদি এই নামের সাথে ইভেন্টগুলি সংযুক্ত করার প্রয়োজন হয় তবে .on()পদ্ধতিটি ব্যবহার করুন , উদাহরণস্বরূপ পরিবর্তন $("img").load(fn)করুন $(img).on("load", fn)1

$(window).load(function() {});

পরিবর্তন করা উচিত

$(window).on('load', function (e) {})

এগুলি সমস্ত সমতুল্য:

$(function(){
}); 

jQuery(document).ready(function(){
});

$(document).ready(function(){
});

$(document).on('ready', function(){
})


অন্যদের অবচিত হওয়ায় পরেরটি পছন্দ করা হয়। এছাড়াও, আধুনিক (আমি বিশ্বাস করি) বিশেষত একাধিক হ্যান্ডলারকে মঞ্জুরি দেয় যাতে আপনার একাধিক স্ক্রিপ্ট থাকতে পারে সকলের একটি .on ('প্রস্তুত' ...) হ্যান্ডলার থাকতে পারে
ইভান ল্যাঙ্গলোইস

6
.on( "ready", handler )- jQuery 1.8 হিসাবে অবহেলিত। দেখতে api.jquery.com/ready
TeNNoX

মধ্যে পার্থক্য কি $(document).readyএবং $(document).load?
রেনাটোভ

document (ডকুমেন্ট)। প্রস্তুত - "এইচটিএমএল-ডকুমেন্টটি লোড হয়ে গেলে এবং ডিওএম প্রস্তুত হওয়ার পরে সঞ্চালিত হয়" - সুতরাং ডকুমেন্টটি লোড হওয়ার সাথে সাথে এটি চালানো হবে, কোনও ছবি লোড হওয়ার জন্য অপেক্ষা না করে, বা ফ্রেমগুলি, অবজেক্টস বা যে কোনও কিছু এখনও লোড হয়নি it । document (দস্তাবেজ) .লোড - "সমস্ত ফ্রেম, অবজেক্ট এবং চিত্র সহ সম্পূর্ণ পৃষ্ঠা সম্পূর্ণ লোড হয়ে গেলে সম্পাদন করে" - সুতরাং এটি ডকুমেন্ট, ডিওএম, চিত্র, স্ক্রিপ্ট, ফ্রেম, বস্তু যা কিছু লোড করার জন্য অপেক্ষা করবে - এবং তারপরে এবং কেবল তখনই এটি চলবে।
pazof

29

document.readyএকটি jQuery ইভেন্ট, এটি DOM প্রস্তুত হওয়ার পরে চলে eg যেমন সমস্ত উপাদানগুলি খুঁজে পেতে / ব্যবহার করার জন্য রয়েছে তবে প্রয়োজনীয় সমস্ত সামগ্রী নয় not
window.onloadছবিগুলি এবং এগুলি লোড হওয়ার পরে (বা একই সাথে সবচেয়ে খারাপ / ব্যর্থ ক্ষেত্রে একই সাথে) আগুন লাগে সুতরাং, আপনি উদাহরণস্বরূপ চিত্রের মাত্রা ব্যবহার করছেন, আপনি প্রায়শই এর পরিবর্তে এটি ব্যবহার করতে চান।

একটি সম্পর্কিত প্রশ্নও পড়ুন:
$ (উইন্ডো) .লোড () এবং $ (দস্তাবেজ) এর মধ্যে পার্থক্য। প্রস্তুত () ফাংশন


11

থেকে jQuery এর এপিআই ডকুমেন্ট

জাভাস্ক্রিপ্ট loadকোনও কোড রেন্ডার করার সময় কোড সম্পাদন করার জন্য ইভেন্ট সরবরাহ করে, সমস্ত চিত্র যেমন চিত্র সম্পূর্ণরূপে প্রাপ্ত না হওয়া পর্যন্ত এই ইভেন্টটি ট্রিগার হয় না। বেশিরভাগ ক্ষেত্রেই, স্ক্রিপ্টটি ডিওএম স্তরক্রম সম্পূর্ণরূপে নির্মিত হওয়ার সাথে সাথে চালানো যেতে পারে। পাস হ্যান্ডলারটি ডিওএম .ready()প্রস্তুত হওয়ার পরে মৃত্যুদন্ড কার্যকর করার গ্যারান্টিযুক্ত, সুতরাং অন্যান্য ইভেন্ট ইভেন্ট হ্যান্ডলারগুলিকে সংযুক্ত করার জন্য এবং অন্যান্য jQuery কোড চালানোর জন্য এটি সাধারণত সেরা জায়গা। সিএসএস স্টাইল বৈশিষ্ট্যের মানের উপর নির্ভরশীল এমন স্ক্রিপ্টগুলি ব্যবহার করার সময়, স্ক্রিপ্টগুলি উল্লেখ করার আগে বাহ্যিক স্টাইলশিট বা এম্বেড শৈলীর উপাদানগুলি উল্লেখ করা গুরুত্বপূর্ণ important

ক্ষেত্রে লোড হওয়া সম্পদের উপর কোড নির্ভর করে (উদাহরণস্বরূপ, যদি কোনও চিত্রের মাত্রা প্রয়োজন হয়), কোডটির loadপরিবর্তে ইভেন্টটির জন্য কোনও হ্যান্ডলারের মধ্যে রাখা উচিত ।


দ্বিতীয় প্রশ্নের উত্তর -

না, যতক্ষণ না আপনি কোনও বিবাদ মোডে jQuery ব্যবহার করছেন না সেগুলি এগুলি অভিন্ন।


10

এই তিনটি ফাংশন একই।

$(document).ready(function(){

}) 

এবং

$(function(){

}); 

এবং

jQuery(document).ready(function(){

});

এখানে = এর মতো $সংজ্ঞা দেওয়ার জন্য ব্যবহৃত হয় ।jQuery$jQuery

এখন পার্থক্য যে

$(document).readyএটি jQuery ইভেন্ট যা DOMলোড হওয়ার পরে গুলি চালানো হয়, তাই নথির কাঠামো প্রস্তুত হওয়ার পরে তা বহিস্কার করা হয়।

$(window).load পৃষ্ঠাতে চিত্রগুলি, সিএসএস ইত্যাদির মতো পুরো সামগ্রী লোড হওয়ার পরে ইভেন্টটি বরখাস্ত করা হয়


5

ফাংশন $(document).ready()এবং $(window).load()ফাংশনগুলির মধ্যে পার্থক্য হ'ল $(window).load()পুরো পৃষ্ঠাটি (চিত্রগুলি, iframes, স্টাইলশিট, ইত্যাদি) লোড হয়ে গেলে ভিতরে থাকা কোডটি চলবে তবে সমস্ত চিত্র, আইফ্রেম ইত্যাদি লোড হওয়ার আগে ডকুমেন্ট প্রস্তুত ইভেন্টে আগুন লাগল, তবে পুরো ডিওএমের পরেই তৈরি.


$(document).ready(function(){

}) 

এবং

$(function(){

});

এবং

jQuery(document).ready(function(){

});

উপরের 3 টি কোডের মধ্যে পার্থক্য নেই।

এগুলি সমতুল্য, তবে অন্য কোনও জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যদি একই ডলার প্রতীক uses একটি শর্টকাটের নাম হিসাবে ব্যবহার করে তবে আপনি দ্বন্দ্বের মুখোমুখি হতে পারেন ।

jQuery.noConflict();
jQuery.ready(function($){
 //Code using $ as alias to jQuery
});

? JQuery এর (ডকুমেন্ট) .ready (ফাংশন () মধ্যে পার্থক্য {এবং jQuery (ডকুমেন্ট) .ready (ফাংশন ($) {দ্রষ্টব্য প্রথম বন্ধনী ভিতরে $।
MarcoZen

3

প্রস্তুত ইভেন্টটি সর্বদা একমাত্র এইচটিএমএল পৃষ্ঠায় কার্যকর করা হয় ব্রাউজারে লোড করা হয় এবং ফাংশনগুলি সম্পাদন করা হয় .... তবে পৃষ্ঠার জন্য সমস্ত পৃষ্ঠা বিষয়বস্তু ব্রাউজারে লোড হওয়ার সময় লোড ইভেন্টটি কার্যকর করা হয় ... .. আমরা যখন jquery স্ক্রিপ্টগুলিতে noconflict () পদ্ধতি ব্যবহার করি তখন আমরা $ বা jQuery ব্যবহার করতে পারি ...



0

window (উইন্ডো) .লোড হ'ল এমন একটি ইভেন্ট যা পৃষ্ঠায় DOM এবং সমস্ত সামগ্রী (সমস্ত কিছু) পুরোপুরি CSS, চিত্র এবং ফ্রেমের মতো লোড হয়ে থাকে fire একটি সর্বোত্তম উদাহরণ হ'ল আমরা যদি প্রকৃত চিত্রের আকারটি পেতে চাই বা আমরা যে কোনও জিনিস ব্যবহার করি তার বিশদ পেতে পারি।

document (ডকুমেন্ট) .ডিডি () নির্দেশ করে যে ডম লোড হয়ে গেলে এবং স্ক্রিপ্ট দ্বারা ম্যানিপুলেট করার জন্য প্রস্তুত হয়ে গেলে এতে কোড কার্যকর করা দরকার। এটি jQuery স্ক্রিপ্টটি কার্যকর করার জন্য চিত্রগুলি লোড হওয়ার জন্য অপেক্ষা করবে না।

<script type = "text/javascript">
    //$(window).load was deprecated in 1.8, and removed in jquery 3.0
    // $(window).load(function() {
    //     alert("$(window).load fired");
    // });

    $(document).ready(function() {
        alert("$(document).ready fired");
    });
</script>

$ (উইন্ডো) load (ডকুমেন্ট) .ডিডি () এর পরে লোড ফায়ার হয়েছে।

$(document).ready(function(){

}) 
//and 
$(function(){

}); 
//and
jQuery(document).ready(function(){

});

উপরে 3 টি একই, Qu jQuery এর উপনাম নাম, অন্য কোনও জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যদি একই ডলারের প্রতীক ব্যবহার করে তবে আপনি দ্বন্দ্বের মুখোমুখি হতে পারেন $ আপনি যদি দ্বন্দ্বের মুখোমুখি হন jQuery টিম কোনও বিরোধ-বিরোধের সমাধান সরবরাহ করে read

window (উইন্ডো)। লোডটি 1.8-এ অবমুক্ত করা হয়েছিল এবং jquery 3.0 এ সরানো হয়েছিল

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.