คำถามติดแท็ก jquery-1.7

5
เปลี่ยน live () เป็น on () ใน jQuery
แอปพลิเคชันของฉันเพิ่มดรอปดาวน์แบบไดนามิก ผู้ใช้สามารถเพิ่มได้มากเท่าที่ต้องการ ฉันใช้live()วิธีการแบบดั้งเดิมของ jQuery เพื่อตรวจสอบเมื่อหนึ่งในรายการดรอปดาวน์เหล่านี้ถูกchange()แก้ไข: $('select[name^="income_type_"]').live('change', function() { alert($(this).val()); }); ในฐานะของ jQuery 1.7 ฉันได้อัปเดตสิ่งนี้เป็น: $('select[name^="income_type_"]').on('change', function() { alert($(this).val()); }); ดูเอกสารที่ควรจะสมบูรณ์ (ใช่มั้ย) - แต่ตัวจัดการเหตุการณ์ไม่เริ่มทำงาน แน่นอนฉันยืนยันว่า jQuery 1.7 ถูกโหลดและใช้งานอยู่ ฯลฯ ไม่มีข้อผิดพลาดในบันทึกข้อผิดพลาด ผมทำอะไรผิดหรือเปล่า? ขอบคุณ!

3
ตรวจสอบว่าบรรพบุรุษของคุณมีคลาสที่ใช้ jQuery หรือไม่
มีวิธีใดบ้างใน jQuery ในการตรวจสอบว่ามีผู้ปกครองผู้ปกครองผู้ยิ่งใหญ่ผู้ยิ่งใหญ่ที่มีชั้นเรียนหรือไม่ ฉันมีโครงสร้างมาร์กอัพที่ทำให้ฉันทำสิ่งนี้ในรหัส: $(elem).parent().parent().parent().parent().hasClass('left') อย่างไรก็ตามสำหรับการอ่านรหัสฉันต้องการหลีกเลี่ยงสิ่งนี้ มีวิธีที่จะพูดว่า "ผู้ปกครอง / ปู่ย่าตายาย / ปู่ย่าตายายใด ๆ มีชั้นนี้"? ฉันใช้ jQuery 1.7.2

15
ได้รับข้อผิดพลาด“ การส่งแบบฟอร์มถูกยกเลิกเนื่องจากไม่ได้เชื่อมต่อแบบฟอร์ม”
ฉันมีเว็บไซต์เก่าที่มี JQuery 1.7 ซึ่งทำงานได้อย่างถูกต้องจนถึงสองวันที่ผ่านมา ทันใดนั้นปุ่มบางปุ่มของฉันไม่ทำงานอีกต่อไปและหลังจากคลิกปุ่มเหล่านี้ฉันได้รับคำเตือนนี้ในคอนโซล: การส่งแบบฟอร์มถูกยกเลิกเนื่องจากไม่ได้เชื่อมต่อแบบฟอร์ม โค้ดที่อยู่หลังการคลิกนั้นเป็นดังนี้: this.handleExcelExporter = function(href, cols) { var form = $('<form method="post"><input type="submit" /><input type="hidden" name="layout" /></form>').attr('action', href); $('input[name="layout"]', form).val(JSON.stringify(cols)); $('input[type="submit"]', form).click(); } ดูเหมือนว่า Chrome 56 จะไม่สนับสนุนรหัสประเภทนี้อีกต่อไป ไม่ใช่เหรอ ถ้าใช่คำถามของฉันคือ: ทำไมสิ่งนี้จึงเกิดขึ้นโดยฉับพลัน? ไม่มีคำเตือนการเลิกใช้งานหรือไม่ วิธีแก้ไขสำหรับรหัสนี้คืออะไร มีวิธีบังคับให้ chrome (หรือเบราว์เซอร์อื่น ๆ ) ทำงานเหมือนก่อนโดยไม่ต้องเปลี่ยนรหัสหรือไม่? ป.ล. มันไม่ทำงานใน firefox รุ่นล่าสุดเช่นกัน (ไม่มีข้อความ) นอกจากนี้มันไม่ทำงานใน IE …

6
jQuery .on () วิธีการที่มีตัวจัดการเหตุการณ์หลายตัวในตัวเลือกเดียว
พยายามหาวิธีใช้เมธอด Jquery .on () กับตัวเลือกเฉพาะที่มีหลายเหตุการณ์ที่เกี่ยวข้อง ก่อนหน้านี้ฉันใช้เมธอด. live () แต่ไม่ค่อยแน่ใจว่าจะทำสำเร็จแบบเดียวกันกับ. on () ได้อย่างไร โปรดดูรหัสของฉันด้านล่าง: $("table.planning_grid td").live({ mouseenter:function(){ $(this).parent("tr").find("a.delete").show(); }, mouseleave:function(){ $(this).parent("tr").find("a.delete").hide(); }, click:function(){ //do something else. } }); ฉันรู้ว่าสามารถกำหนดกิจกรรมต่างๆได้โดยโทร: $("table.planning_grid td").on({ mouseenter:function(){ //see above }, mouseleave:function(){ //see above } click:function(){ //etc } }); แต่ฉันเชื่อว่าการใช้. on () อย่างเหมาะสมจะเป็นเช่นนั้น: $("table.planning_grid").on('mouseenter','td',function(){}); มีวิธีที่จะทำให้สำเร็จหรือไม่? หรือแนวทางปฏิบัติที่ดีที่สุดที่นี่คืออะไร? ฉันลองใช้รหัสด้านล่าง …

8
อะไรคือความแตกต่างระหว่าง jQuery .live () และ .on ()
ฉันเห็นว่ามีวิธีการใหม่.on()ใน jQuery 1.7 ที่แทนที่.live()ในเวอร์ชันก่อนหน้านี้ ฉันสนใจที่จะทราบความแตกต่างระหว่างวิธีนี้และประโยชน์ของการใช้วิธีใหม่นี้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.