Я нашел ответ на форуме jquery, и они сделали функцию для этого, но результат не тот.
Вот пример, который я создал для кнопки с изображением:
var buttonField = $('<input type="image" />');
buttonField.attr('id', 'butonFshi' + lastsel);
buttonField.val('Fshi');
buttonField.attr('src', 'images/square-icon.png');
if (disabled)
buttonField.attr("disabled", "disabled");
buttonField.val('Fshi');
if (onblur !== undefined)
buttonField.focusout(function () { onblur(); });
buttonField.mouseover(function () { ndryshoImazhin(1, lastsel.toString()); });
buttonField.mouseout(function () { ndryshoImazhin(0, lastsel.toString()); });
buttonField.click(function () { fshiClicked(lastsel.toString()); });
А у меня такая ситуация:
buttonField[0].outerHTML = `<INPUT id=butonFshi1 value=Fshi src="images/square-icon.png" type=image jQuery15205073038169030395="44">`
вместо внешней функции, которую я нашел, выдает buttonField.outer () = <INPUT id=butonFshi1 value=Fshi src="images/square-icon.png" type=image>
Функция:
$.fn.outer = function(val){
if(val){
$(val).insertBefore(this);
$(this).remove();
}
else{ return $("<div>").append($(this).clone()).html(); }
}
так вот так я теряю вставленные мной обработчики.
В любом случае можно получить externalHTML с jquery, чтобы он был кросс-браузерным без потери обработчиков?!