পৃষ্ঠা লোডিংয়ের পরে কীভাবে jquery কোড করবেন?


88

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

পৃষ্ঠার সামগ্রীগুলি লোড হওয়ার পরে আমি জাভাস্ক্রিপ্ট কোডটিই করতে চাই আমি কীভাবে এটি করতে পারি?

উত্তর:


174

এর loadপরিবর্তে ব্যবহার করুন ready:

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

আপডেট.on() jQuery 1.8 সাল থেকে আপনার ব্যবহার করা উচিত । ( http://api.jquery.com/on/ )

$(window).on('load', function() {
 // code here
});

এই উত্তর থেকে :

Http://blog.jquery.com/2016/06/09/jquery-3-0-final-released/ অনুসারে :

অবচয়জনক ইভেন্টের নামগুলি সরানো হয়েছে

.load, .unloadএবং .error, jQuery 1.8 থেকে অবহেলিত, আর নেই। .on()শ্রোতাদের রেজিস্ট্রেশন করতে ব্যবহার করুন ।

https://github.com/jquery/jquery/issues/2286


4
এই উত্তরের মন্তব্য থেকে: stackoverflow.com/a/37817516/957246 window (উইন্ডো) .অন ("লোড", ফাংশন () {// এখানে কোড}); .. কারণ ".লোড" অবমূল্যায়ন করা হয়েছে।
trapper_hag

.on () ব্যবহার করে এটি এতটা সুস্পষ্ট .. তবে এটি খুঁজে পাওয়ার আগে আমি 1 ঘন্টা দেওয়ালের বিরুদ্ধে মাথা ঠোকরিয়ে কাটিয়েছি .. ধন্যবাদ ..!
ঘুরুর

4
$(document).on('load', ...এটির চেষ্টা করার $(window).on('load',...
ব্যবহারকারী

29

অনুসরণ করছেন

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

প্রতিস্থাপন করা যেতে পারে

$(window).bind("load", function() { 
     // insert your code here 
});

আরও একটি উপায় আছে যা আমি পৃষ্ঠা লোড সময় বাড়ানোর জন্য ব্যবহার করছি।

$(document).ready(function() { 
  $(window).load(function() { 
     //insert all your ajax callback code here. 
     //Which will run only after page is fully loaded in background.
  });
});

4
প্রস্তুত হ্যান্ডলারের একটি লোড হ্যান্ডলার? এটাই পাগলামি window আপনার ডকুমেন্টটি প্রস্তুত করার দরকার নেই যেহেতু উইন্ডোটি তখন উপস্থিত রয়েছে এবং আপনি এটি ছাড়া কোনও হ্যান্ডলার সংযুক্ত করতে পারেন।
দ্যালোরে

21

কেউ এটি উল্লেখ করেনি

$(function() {
    // place your code
});

যা একটি শর্টহ্যান্ড ফাংশন

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

16

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

আমার এই সমস্যাটি হয়েছে যেখানে $(window).on('load',function(){ ... })আমার কোডটির জন্য খুব দ্রুত ফায়ার হবে আমি জাভাস্ক্রিপ্টটি ব্যবহার করেছি সেটি ফর্ম্যাট করার উদ্দেশ্যে এবং উপাদানগুলি আড়াল করার জন্য। যে উপাদানগুলিতে খুব শীঘ্রই লুকানো থাকে এবং যেখানে 0 এর উচ্চতা রেখে যায়।

আমি এখন ব্যবহার করি $(window).on('pageshow',function(){ //code here });এবং এটি আমার প্রয়োজনের সময় আগুন ধরে যায়।


4
এটি আমাকেও খুব সাহায্য করেছিল, আমি jQuery মোবাইল পৃষ্ঠা প্রদর্শিত হওয়ার পরে কিছু কোড চালাতে চাইছিলাম। ধন্যবাদ. @ বয়েড সিআর
কোডেদেডি

এই কোডটি গৃহীত উত্তরের সাথে তুলনা করে আরও কত বেশি সহায়ক তা যোগ করতে চেয়েছিলেন। অনেক ধন্যবাদ.
কাউন্টজারো

10

আপনি এইভাবে '$' এ সংজ্ঞায়িত হওয়া এড়াতে পারেন

window.addEventListener("DOMContentLoaded", function(){
    // Your code
});

সম্পাদনা: 'ডোমকন্টেন্টলয়েড' ব্যবহার করা কেবল 'লোড' এর চেয়ে দ্রুত কারণ লোড ওয়েট পৃষ্ঠা পুরোপুরি লোড হয়, ইমাগুলি অন্তর্ভুক্ত থাকে ... যখন ডমকন্টেন্টলয়েড কেবল কাঠামোর জন্য অপেক্ষা করে


8

আমি একই সমস্যাটি খুঁজছি এবং এটিই আমাকে সাহায্য করে। এখানে jQuery সংস্করণ ৩.১.০ রয়েছে এবং jQuery সংস্করণ ১.৮ থেকে লোড ইভেন্টটি ব্যবহারের জন্য অবচিত করা হয়েছে । লোড ইভেন্টটি jQuery 3.0 থেকে সরানো হয়েছে। পরিবর্তে, আপনি পদ্ধতিতে ব্যবহার করতে পারেন এবং জাভাস্ক্রিপ্ট লোড ইভেন্ট বাঁধাই করতে পারেন:

$(window).on('load', function () {
  alert("Window Loaded");
});


5

আপনি যে কোডটি সম্পাদন করতে চান তার ভিতরে লিখুন। আপনার দস্তাবেজ প্রস্তুত হয়ে গেলে, এটি কার্যকর করা হবে।

$(document).ready(function() { 

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