PDA

View Full Version : سوال: مشکل در حذف المان جدید ایجاد شده



marasiali
یک شنبه 24 تیر 1397, 03:43 صبح
باسلام و احترام من میخوام یه سری باکس بذارم که با دکمه "افزودن" مشابه اون ساخته باشه و با دکمه حذف هر باکس ، باکس مورد نظر حذف بشه اما مشکلی که هس اینه که اگه المنت جدیدی ایجادکنم اونو دیگه نمیشناسه و رویداد کلیک دکمه حذفش کار نمیده! فکر میکنم به خاطر اینه که موقعی که تابع اون لود شده هنوز عنصر جدید اضافه نشده بود و عنصر رو نمیشناسه.ممنون میشم راهنماییم کنید.



jQuery(document).ready(function($){

$("#ambox_add").click(function(){
var str = '<tr><td><input class="ambox_url" style="width:80%" type="url" placeholder="http://example.com/example.zip"> <input type="button" class="button-secondary ambox_select" value="انتخاب"> <input type="button" class="button-secondary ambox_delete" value="حذف"> <input type="text" placeholder="زمان آموزش" id="ambox_time"> <input type="text" placeholder="حجم فایل" id="ambox_time"></td></tr>';
$("#ambox_table tbody").append(str);
});

$(".ambox_delete").click(function(){
$(this).parent().parent().remove();
});


});

plague
یک شنبه 24 تیر 1397, 15:10 عصر
باید رویداد رو به یه عنصر پدر که تغییر نمیکنه بچسبونی


$(document).on('click' , ".ambox_delete" , function(){
$(this).parent().parent().remove();
});

marasiali
یک شنبه 24 تیر 1397, 19:04 عصر
دستتون درد نکنه.
فقط میشه یه توضیح یا لینکی راجع به این ساختار در جی کوئری بدین؟ آرگومان دوم تابع on دقیقا چه مقداری میگیره و از چه طریقی کار میکنه که تو این حالت مشکلی پیش نمیاد؟

plague
یک شنبه 24 تیر 1397, 20:20 عصر
وقتی صفحه لود میشه رویداد ها به المنت های .ambox_delete چسبده میشه اصطلاحا و طبیعیه که شما وقتی دکمه ای رو بعد از لود شدن صفحه اضافه کنی به صفحه رویدادی بهش متصل نیست و کار نمیکنه .... به این روشی که من بهت گفتم رویداد به المنت پدر مثل Body یا document یا حتی یه div پدر که المنت های دکمه توش هستن چسبیده میشه و البته این هیچوقت تغییر نمیکنه و همیشه کار میکنه


مثل اینه که به یه خونواده که 2 تا پسر داره بری به پسراش بگی فلان کار رو انجام بده بعدا اگه پسر جدیدی به خونواده اضافه شد طبیعتا شما بهش نگفتی کاری انجام بده و انجام نمیده .... ولی اگه به پدر خونواده بگی که پسرات فلان کار رو بکنن این شامل همه پسر های فعلی و آینده میشه

http://api.jquery.com/on/