jQuery: $ ()। ক্লিক (fn) বনাম $ ()। বাঁধুন ('ক্লিক', এফএন);


115

ইভেন্ট হ্যান্ডলারকে হুকআপ দেওয়ার জন্য jQuery ব্যবহার করার সময়, ক্লিক পদ্ধতিটি ব্যবহার করার মধ্যে কোনও পার্থক্য রয়েছে

$().click(fn)

বনাম পদ্ধতি ব্যবহার করে বনাম

$().bind('click',fn);

বাইন্ডের alচ্ছিক ডেটা প্যারামিটার ব্যতীত


দেখে মনে হচ্ছে ক্লিকের alচ্ছিক ডেটা প্যারামিটারও রয়েছে। এটি কিভাবে কাজ করে তার মধ্যে কোনও পার্থক্য রয়েছে কিনা তা কেউ জানেন? সূত্র: api.jquery.com/click
নিক উডেল

উত্তর:


137

JQuery উত্স থেকে এটি মূল্যবান জন্য :

jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
    "mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," +
    "change,select,submit,keydown,keypress,keyup,error").split(","), function(i, name){

    // Handle event binding
    jQuery.fn[name] = function(fn){
        return fn ? this.bind(name, fn) : this.trigger(name);
    };
});

সুতরাং না, কোনও পার্থক্য নেই -

$().click(fn)

কল

$().bind('click',fn)

6
সত্য - click()এটি মূলত সংক্ষিপ্তরূপে রয়েছে bind('click')(বা, এই যুগে কোনও যুগে এটি আসলে কল করে on('click')। আমি এটি যেভাবে দেখছি, আপনি on('click')সরাসরি অতিরিক্ত ফাংশন কলটি সরাসরি ব্যবহার করে নিজেকে বাঁচাতে পারেন
নিক্স

তারা একই কাজ করে তবে বাঁধুন () আসুন আপনি বলুন যে আমি ব্যবহারটি ঘুরে বেড়ানোর সময় এবং ক্লিকগুলি ইত্যাদি ঘটতে চাই the উদাহরণের জন্য নীচে স্ট্যাকওভারফ্লো . com/a/519455/292408 দেখুন । আপনি অবশ্যই কেবল একটি ইভেন্টের সাথে আবদ্ধ হতে পারেন, উদাহরণস্বরূপ 'ক্লিক করুন'।
এলিজা লিন

98

ম্যাথিউয়ের উত্তরের জন্য +1, তবে আমি ভেবেছিলাম আমার উল্লেখ করা উচিত যে আপনি একবারে একাধিক ইভেন্ট হ্যান্ডলারকেও বেঁধে রাখতে পারেন bind

$('#myDiv').bind('mouseover focus', function() {
    $(this).addClass('focus')
});

যা এর তুলনায় অনেক ক্লিনার:

var myFunc = function() {
    $(this).addClass('focus');
};
$('#myDiv')
    .mouseover(myFunc)
    .focus(myFunc)
;

20
+1 যে একাধিক ইভেন্টকে বাধ্যতামূলক করা তা আমার কাছে সংবাদ এবং সম্ভবত বেশ কার্যকর।
ক্লিটাস

7

এর মধ্যে একটি পার্থক্য রয়েছে যে আপনি নিজের মতো করে দ্বিতীয় রূপটি ব্যবহার করে কাস্টম ইভেন্টগুলিকে আবদ্ধ করতে পারেন। অন্যথায়, তারা সমার্থক বলে মনে হচ্ছে। দেখুন: jQuery ইভেন্ট ডক্স


1

বাইন্ডের [ডেটা] পরামিতি রয়েছে যা কেবল বাইন্ড-টাইমে একবার আসবে।

আপনি বাইন্ডের প্রথম পরামিতি হিসাবে কাস্টম ইভেন্টগুলিও নির্দিষ্ট করতে পারেন।


1

আমি দেখতে পেয়েছি। ক্লিক () আরও যুক্তিসঙ্গত, তবে আমার ধারণা আপনি কীভাবে বিষয়গুলি সম্পর্কে ভাবেন।

$('#my_button').click(function() { alert('BOOM!'); });

আপনি যতটা মরে গেছেন তেমন সহজ মনে হচ্ছে।


0

আপনার যদি গুগল ক্রোম থাকে তবে তাদের বিকাশকারী সরঞ্জামগুলিতে ইভেন্ট শ্রোতার সরঞ্জাম রয়েছে, আপনি তার ইভেন্টটি গুপ্তচর করতে চান এমন উপাদানটি নির্বাচন করুন।

আপনি দেখতে পাবেন যে উভয় উপায়ে চেষ্টা করা একই ফলাফলের দিকে নিয়ে যায়, তাই তারা সমান equivalent


0

আমি পছন্দ .bind () সঙ্গে তার ইন্টারফেস দৃঢ়তা কারণে .live () । এটি কেবল কোডকে আরও পঠনযোগ্য করে তোলে তা নয়, অন্য পদ্ধতির পরিবর্তে একটি পদ্ধতি ব্যবহারের জন্য কোডের একটি লাইন পরিবর্তন করা সহজ করে তোলে।

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