জেকুয়েরি জাভাস্ক্রিপ্ট এঙ্গুলার এইচটিএমএল সিএসএস বুটস্ট্রাপ
ফোরাম
 

জেনেছেন noConflict() মেথড


এই অধ্যায়ে আমরা জেকুয়েরি noConflict() মেথড সম্পর্কে জানবো। ধরুন, আপনি কোনো পেজে জেকুয়েরি লাইব্রেরী ব্যবহার করেছেন। একই পেজে অন্য লাইব্রেরিও ব্যবহার করতে চাচ্ছেন, এমতাবস্থায় আপনি কি করবেন?


জেকুয়েরি এবং অন্যান্য জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক

আপনি ইতিমধ্যেই জেনেছেন যে, জেকুয়েরি সাধারনত $ চিহ্নকে জেকুয়েরির শটকার্ট হিসাবে ব্যবহার করে।

জেকুয়েরি ছাড়াও জাভাস্ক্রিপ্টের আরও অনেক ফ্রেমওয়ার্ক আছে। যেমন: এঙ্গুলার, রিয়্যাক্ট, ব্যাকবোন, এম্বার, নোকআউট ইত্যাদি।

যদি জাভাস্ক্রিপ্ট এর অন্যান্য ফ্রেমওয়ার্কও $ চিহ্নকে শটকার্ট হিসাবে ব্যবহার করে তাহলে আপনি কি করবেন?

যদি দুটি ফ্রেমওয়ার্কই একই শর্টকাট ব্যবহার করে তাহলে তাদের যেকোনো একটির কাজ বন্ধ হয়ে যাওয়ার সম্ভাবনা সৃষ্টি হয়।

জেকুয়েরি ডেভেলপাররা এটা চিন্তা করেই noConflict() মেথডটি উদ্ভাবন করছে।


noConflict() মেথড

noConflict() মেথড $ চিহ্ন দ্বারা আটককৃত পেজেকে দখল মুক্ত করে এবং অন্য স্ক্রিপ্টকে উক্ত পেজে কাজ করার সুযোগ করে দেয়।

এক্ষত্রে আপনি শর্টকাট এর পরিবর্তে সম্পূর্ণ নাম লিখেও জেকুয়েরি ব্যবহার করতে পারেন. এটা আরও স্পষ্ট করার জন্য নিম্নে এ সম্পর্কিত উদাহরণ দেখানো হলো:

উদাহরণ

<!DOCTYPE html>
<html>
<head>
   <title>জেকুয়েরি noConflict() মেথড এর  উদাহরণ</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $.noConflict();
    jquery(document).ready(function(){
        jquery("button").click(function(){
            jquery("p").text("জেকুয়েরি কাজ করছে!");
        });
    });
    </script>
</head>
<body>

    <p>এটি একটি অনুচ্ছেদ</p>
    <button>jquery টেষ্ট করুন</button>

</body>
</html>

ফলাফল



জেকুয়েরি noConflict() মেথড কে পরবর্তী সময়ে ব্যবহারের জন্য আপনি আপনার ইচ্ছামত চলক এর মধ্যে রেখে শর্টকাট তৈরি করে নিতে পারেন। এক্ষেত্রে আপনি noConflict() কে যে চলক(variable) এর মধ্যে সংরক্ষণ করেছিলেন তা জেকুয়েরিকে একটি রেফারেন্স ফেরত পাঠায়। এ সম্মন্ধে আরও স্পষ্ট হওয়ার জন্য নিচের উদাহরণটি লক্ষ্য করুন:

উদাহরণ

<!DOCTYPE html>
<html>
<head>
   <title>জেকুয়েরি  উদাহরণ</title>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
var jq = $.noConflict();
jq(document).ready(function(){
    jq("button").click(function(){
        jq("p").text("হ্যাঁ জেকুয়েরি কাজ করছে!");
    });
});
</script>
</head>
<body>

    <p>এটি একটি প্যারাগ্রাফ</p>
    <button>জেকুয়েরি টেস্ট</button>

</body>
</html>

ফলাফল



ধরুন, আপনার কাছে একগুচ্ছ জেকুয়েরি কোড আছে যার মধ্যে $ চিহ্নকে শর্টকাট হিসাবে ব্যবহার করা হয়েছে এবং আপনি এটাকে কোনো কিছুতেই পরিবর্তন করতে চাচ্ছেন না। এমতাবস্থায় $ চিহ্নকে ready() মেথডের প্যারামিটার হিসাবে ব্যবহার করতে পারেন। এই পদ্ধতির মাধ্যমে আপনি $ চিহ্ন দ্বারা জেকুয়েরিকে এক্সেস করতে পারবেন কিন্তু ফাংশনের বাহিরে আপনাকে "jquery" লিখতে হবেঃ

উদাহরণ

<!DOCTYPE html>
<html>
<head>
   <title>জেকুয়েরি উদাহরণ</title>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$.noConflict();
jquery(document).ready(function($){
    $("button").click(function(){
        $("p").text("জেকুয়েরি এখনো কাজ করছে!");
    });
});
</script>
</head>
<body>

<p>এটি একটি প্যারাগ্রাফ।</p>
<button>টেস্ট করুন</button>

</body>
</html>

ফলাফল




জেকুয়েরি বিবিধ রেফারেন্স

জেকুয়েরি বিবিধ মেথডগুলো সম্পর্কে ভালোভাবে জানার জন্য আমাদের জেকুয়েরি বিবিধ মেথড রেফারেন্স পেজে ভিজিট করুন।