Правильный способ преобразования функции JavaScript в строку, чтобы ее можно было вставить во внутренний HTMLJquery

Программирование на jquery
Ответить
Anonymous
 Правильный способ преобразования функции JavaScript в строку, чтобы ее можно было вставить во внутренний HTML

Сообщение Anonymous »

Вот чем я занимаюсь: создаю забавную собственную систему голосования через API. Я использую вставку фрагмента кода на стороне клиента на страницу

Вот так:
Теперь в моем основном .JS я выполняю все ajax-запросы и изменяю #content-wrap, создавая новые элементы и вставляя дополнительные JS, необходимые для запуска системы голосования.

Однако большая проблема, с которой я сталкиваюсь, заключается в том, что когда я пишу JavaScript, который мне нужно вставить в #content-wrap, сейчас я пишу это так:

Код: Выделить всё

script.innerHTML = "$(someting).on('click', funciton(){"
+ "$.ajax({type: 'post',"
+ " url: '" + base + "/api/request', data: $('form').serialize(), "
+ "success: function(response){";
Как видите, это может вызвать множество проблем, когда я буду его использовать.
Как лучше это сделать или есть ли способ просто написать свой сценарий/код и сделать что-то вроде этого.

Код: Выделить всё

script.innerHTML = ConvertToString(script.js) OR ConvertToString(function X);
ConvertToString — это просто выражение, которое я использую, чтобы объяснить, что я хотел бы сделать, а не то, что я делаю.

Спасибо, я открыт для любых предложений.
Я также должен сделать это на простом JavaScript или с помощью библиотеки jQuery, поэтому любые предложения по использованию VueJs, AngularJS или React будут рассматриваться как будущие ссылки.

Спасибо еще раз

Дополнительное объяснение:

Я хотел бы вставить в свой элемент сценария фрагмент JavaScript. Но в настоящее время мой фрагмент занимает около 30 строк и со временем может стать больше, поэтому очень сложно кодировать весь + "код" в каждой строке, которую я пишу, чтобы его можно было вставить с помощью InternalHTML в элемент и выполнить на стороне клиента.

Поэтому вместо этого я хотел бы сделать что-то вроде этого

Код: Выделить всё

element.innerHTML = mysnippetcode // but with out using + "" on each line like shown above

OR

element.append(snippet)
Надеюсь, это прояснит ситуацию

Решение, которое сработало для меня, заключалось в использовании обратных тиков, чтобы обернуть мой синпет и вставить его во внутренний HTML элемента..

Подробнее здесь: https://stackoverflow.com/questions/462 ... n-be-inser
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»