вставка элемента в ДОМ со скриптом
Доброе время суток!
Есть задача: при обработке эвента вставить сформированную строку, которая либо пришла через Ajax, либо сформирована на странице в ДОМ с выполнением всех вложенных скриптов. Например строка такая: <label id='noresstr' onclick='noreact()'>Нет данных! Вернитесь назад!</label> или такая: <table><tr onclick='editcust('id=xxx1')' onhover='....'><td>.....</td></tr> <tr onclick='editcust('id=xxx2')'><td>.....</td></tr> и т.д. Суть в том, что бы вставить строку с возможностью выполнения вложенных в нее евентов onclick, onhover и т.п. Евенты контекстные! Заранее не известные! :) Сразу скажу - перерыл много всего! кому интересно - могу рассказать. вроде как jquery .parseHTML должен подготавливать для вставки в ДОМ jQuery.parseHTML uses a native DOM element creation function to convert the string to a set of DOM elements, which can then be inserted into the document. и имеет третий параметр keepScripts для обработки скриптов но он не работает! т.е. var str1 = "<label id='lacli' onclick='alert('Click test!')' ><b>Click проба!</b></label>"; parsedHtml = $.parseHTML(str1,document,[B]true[/B]); $('#tstinn').append(parsedHtml); работает, но мало того, что не выполняется onclick, но и самого элемента нет в ДОМ. alert($("#lacli").id); дает undefined! как все таки вставить?:help: |
$('#tstinn').html(str1); |
Часовой пояс GMT +3, время: 09:09. |