เมื่อใช้ jQuery เพื่อเชื่อมต่อกับตัวจัดการเหตุการณ์มีความแตกต่างระหว่างการใช้วิธีการคลิกหรือไม่
$().click(fn)เทียบกับการใช้วิธีการผูก
$().bind('click',fn);นอกเหนือจากพารามิเตอร์ข้อมูลทางเลือกของ bind
เมื่อใช้ jQuery เพื่อเชื่อมต่อกับตัวจัดการเหตุการณ์มีความแตกต่างระหว่างการใช้วิธีการคลิกหรือไม่
$().click(fn)เทียบกับการใช้วิธีการผูก
$().bind('click',fn);นอกเหนือจากพารามิเตอร์ข้อมูลทางเลือกของ bind
คำตอบ:
สิ่งที่คุ้มค่าจากแหล่ง 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)click()โดยทั่วไปเป็นชวเลขสำหรับbind('click')(หรือในสมัยนี้มันเรียกกันจริงon('click')ๆ วิธีที่ฉันเห็นคุณอาจช่วยตัวเองด้วยการเรียกฟังก์ชันพิเศษโดยใช้on('click')โดยตรง
                    +1 สำหรับคำตอบของ Matthew แต่ฉันคิดว่าฉันควรพูดถึงว่าคุณสามารถผูกตัวจัดการเหตุการณ์มากกว่าหนึ่งตัวได้ในครั้งเดียวโดยใช้ bind
$('#myDiv').bind('mouseover focus', function() {
    $(this).addClass('focus')
});
ซึ่งสะอาดกว่ามากเทียบเท่ากับ:
var myFunc = function() {
    $(this).addClass('focus');
};
$('#myDiv')
    .mouseover(myFunc)
    .focus(myFunc)
;
มีความแตกต่างอย่างหนึ่งที่คุณสามารถเชื่อมโยงเหตุการณ์ที่กำหนดเองโดยใช้รูปแบบที่สองที่คุณมี มิฉะนั้นดูเหมือนจะตรงกัน ดู: jQuery Event Docs
มีพารามิเตอร์ [data] ของการโยงซึ่งจะเกิดขึ้นเฉพาะเวลาผูกครั้งเดียว
คุณยังสามารถระบุเหตุการณ์ที่กำหนดเองเป็นพารามิเตอร์แรกของการโยง
ฉันพบว่า. click () เป็นวิธีที่สมเหตุสมผลกว่า แต่ฉันเดาว่าคุณคิดอย่างไร
$('#my_button').click(function() { alert('BOOM!'); });ดูเหมือนจะเป็นเรื่องง่ายๆอย่างที่คุณได้รับ
หากคุณมี Google Chrome เครื่องมือสำหรับนักพัฒนาของพวกเขามีเครื่องมือตัวฟังเหตุการณ์ให้เลือกองค์ประกอบที่คุณต้องการสอดแนมเหตุการณ์
คุณจะพบว่าการลองทั้งสองวิธีนำไปสู่ผลลัพธ์เดียวกันดังนั้นจึงเทียบเท่ากัน
ฉันชอบ.bind ()เพราะสอดคล้องกับอินเตอร์เฟซที่.live () ไม่เพียง แต่ทำให้โค้ดอ่านง่ายขึ้น แต่ยังช่วยให้เปลี่ยนบรรทัดของโค้ดเพื่อใช้วิธีการหนึ่งแทนวิธีอื่นได้ง่ายขึ้น