2013-02-08 3 views
0

Я пытаюсь написать peice кода, который будет зацепиться в этом:крюк в JQuery .live функции

var builder_blvd = { 

    // Enter into editing a layout 
    edit : function (name, page) 
    { 
     // Get the ID from the beginning 
     var page = page.split('[(=>)]'); 

     // Prepare the edit tab 
     $('#builder_blvd .nav-tab-wrapper a.nav-edit-builder').text(themeblvd.edit_layout+': '+name).addClass(page[0]+'-edit'); 
     $('#builder_blvd #edit_layout .ajax-mitt').html(page[1]); 

     // Setup hints 
     $('.sortable:not(:has(div))').addClass('empty'); 
     $('.sortable:has(div)').removeClass('empty'); 

     // Setup sortables 
     $('.sortable').sortable({ 
      handle: '.widget-name', 
      connectWith: '.sortable' 
     }); 

     // Sortable binded events 
     $('.sortable').bind('sortreceive', function(event, ui) { 
      $('.sortable:not(:has(div))').addClass('empty'); 
      $('.sortable:has(div)').removeClass('empty'); 
     }); 

     // Setup widgets 
     $('#builder_blvd .widget').themeblvd('widgets'); 

     // Setup options 
     $('#builder_blvd').themeblvd('options', 'setup'); 

     // Take us to the tab 
     $('#builder_blvd .nav-tab-wrapper a').removeClass('nav-tab-active'); 
     $('#builder_blvd .nav-tab-wrapper a.nav-edit-builder').show().addClass('nav-tab-active'); 
     $('#builder_blvd .group').hide(); 
     $('#builder_blvd .group:last').fadeIn(); 

    } 

}; 

Я хочу, чтобы вклиниться в $ («# builder_blvd #edit_layout .ajax-рукавица»). HTML (страницы [1]); для запуска фрагмента кода, который удаляет элемент DOM из того, который когда бы он ни находился. Вышеприведенный код относится к родительской теме, и я предпочел бы оставить его нетронутым, если это возможно.

Вот что я пытался получить эту работу:

jQuery(document).ready(function($) { 
    $('#builder_blvd #edit_layout .ajax-mitt').bind('change', function(event, ui) { 
     $('#edit_builder #titlediv').remove(); 
    }); 
}); 

Любые идеи, как это исправить?

+0

пар многообещающих вещей, которые я нашел, когда прибегая к помощи «Jquery события html change ": http://stackoverflow.com/questions/1091661/detect-element-content-changes-with-jquery и http://stackoverflow.com/questions/3722639/jquery-event-for-html-change- in-a-div-element – Chad

+1

Какие типы элементов '# builder_blvd'' # edit_layout' и '.ajax-mitt'? Потому что 'change' только срабатывает для элементов' input', 'textarea' и' select'. –

+0

Это divs, поэтому я думаю, что событие изменения не работает – spyke01

ответ

0

Вы можете перезаписать исходный объект и получить доступ к старой функции :) так что нет никакой необходимости «крюк» в этот .html-код

var builder_blvd_edit = builder_blvd.edit; 
builder_blvd.edit = function (name, page){ 
    builder_blvd_edit(name, page); 
    $('#edit_builder #titlediv').remove(); 
} 
Смежные вопросы