ฉันใช้ Twitter bootstrap tooltips กับ javascript ดังนี้:
$('a[rel=tooltip]').tooltip();
มาร์กอัปของฉันมีลักษณะดังนี้:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
สิ่งนี้ใช้ได้ดี แต่ฉันเพิ่ม<a>
องค์ประกอบแบบไดนามิกและเคล็ดลับเครื่องมือไม่แสดงขึ้นสำหรับองค์ประกอบแบบไดนามิกเหล่านั้น ฉันรู้ว่าเป็นเพราะฉันผูก. ทูลทิป () เพียงครั้งเดียวเมื่อเอกสารโหลดเสร็จด้วย$(document).ready(function()
ฟังก์ชั่นjquery ทั่วไป
ฉันจะผูกสิ่งนี้กับองค์ประกอบที่สร้างขึ้นแบบไดนามิกได้อย่างไร ฉันมักจะทำสิ่งนี้ผ่านวิธีการ jquery live () อย่างไรก็ตามเหตุการณ์ที่ฉันใช้ผูกคืออะไร ฉันแค่ไม่แน่ใจว่าจะขอ bootstrap .tooltip () กับ jquery .live () ได้อย่างไร
ฉันพบวิธีหนึ่งที่จะทำให้งานนี้เป็นแบบนี้:
/* Add new 'rows' when plus sign is clicked */
$("a.add").live('click', function () {
var clicked_li = $(this).parent('li');
var clone = clicked_li.clone();
clone.find(':input').each(function() {
$(this).val('');
});
clicked_li.after(clone);
$('a[rel=tooltip]').tooltip();
});
มันใช้งานได้ แต่ดูเหมือนแฮ็ค ฉันกำลังเรียกสายเดียวกัน .tooltip () เหมือนกันในการเรียก $ (พร้อม) ดังนั้นองค์ประกอบที่มีอยู่เมื่อหน้าแรกโหลดและจับคู่ตัวเลือกนั้นท้ายด้วยคำแนะนำเครื่องมือสองครั้ง?
ฉันไม่เห็นปัญหาใด ๆ กับวิธีการนี้ ฉันแค่มองหาวิธีปฏิบัติที่ดีที่สุดหรือความเข้าใจในพฤติกรรม
rel
คุณสมบัติ นี่ไม่ใช่ความหมายและมีต้นกำเนิดมานานกว่าทศวรรษที่ผ่านมาเป็นแฮ็ค ทุกวันนี้เบราว์เซอร์ทุกตัวกลับมาหลายปีรองรับdata-*
คุณสมบัติและไม่มีเหตุผลที่จะไม่ใช้มัน