การใช้ jQuery ต่อไปนี้เหมือนกันในลักษณะพิเศษ:
$('a').click(function(){ doSomething(); });
$('a').on('click', function(){ doSomething(); });
อย่างไรก็ตามด้วยinput
เหตุการณ์รูปแบบที่สองเท่านั้นที่ดูเหมือนว่าจะทำงานในเบราว์เซอร์ที่ฉันได้ทดสอบ
ดังนั้นคุณคาดหวังว่าสิ่งนี้จะได้ผล แต่ก็ไม่ได้ (อย่างน้อยปัจจุบัน):
$(':text').input(function(){ doSomething(); });
อีกครั้งหากคุณต้องการยกระดับการมอบหมายกิจกรรม (เช่นการตั้งค่ากิจกรรม#container
ก่อนที่คุณinput.text
จะเพิ่มใน DOM) สิ่งนี้ควรคำนึงถึง:
$('#container').on('input', ':text', function(){ doSomething(); });
น่าเสียดายที่มันไม่สามารถใช้งานได้ในขณะนี้!
รูปแบบนี้ใช้งานได้เท่านั้น:
$(':text').on('input', function(){ doSomething(); });
แก้ไขด้วยข้อมูลปัจจุบันเพิ่มเติม
แน่นอนฉันสามารถยืนยันได้ว่ารูปแบบนี้:
$('#container').on('input', ':text', function(){ doSomething(); });
ทำงานได้แล้วในเบราว์เซอร์ 'มาตรฐาน' ทั้งหมด