Добавление HTML к элементу управления, а затем добавление события onclick к одному из объектов html?

#html #onclick #controls

#HTML #onclick #элементы управления

Вопрос:

У меня есть подраздел, который записывает кучу HTML внутри буквального элемента управления. Частью этого HTML является изображение, к которому я хотел бы добавить событие onclick. Onclick просто должен предупредить строку, которая у меня есть в том же подразделе. ПОСЛЕ ЗАВЕРШЕНИЯ ГЕНЕРАЦИИ HTML возвращаемая строка также будет завершена. Итак, на этом этапе мне нужно будет добавить событие onlick к изображению. Но как я могу это сделать, поскольку на данный момент он не распознает элемент управления? Спасибо, ребята.

/**** РЕДАКТИРОВАТЬ ****/

итак, я изменил ситуацию и просто вставил строку для кнопки изображения последней, чтобы возвращаемая строка была полной. однако, когда вставляется html, строка как бы портит его из-за пунктуации. строка может содержать любое количество специальных символов:’,;» и т.д.

вот строка html в vb.net codebehind кодовый

 text = "<td style='background-color:#C8DBEC;width:31px;'><img style='cursor:pointer;' id='imgPrint' src='../images/Buttons/printerbtn.png' onclick='printTranscript("   finalText   ");' /></td>"
 

итак, мой вопрос … как мне нужно отформатировать finalText, чтобы он передавался в вызов javascript?

Ответ №1:

Я думаю, что ваш код должен выглядеть так:

 text = @"<td style='background-color:#C8DBEC;width:31px;'><img style='cursor:pointer;' id='imgPrint' src='../images/Buttons/printerbtn.png' onclick='printTranscript("""   finalText   @""");' /></td>"
 

Я помещаю двойные кавычки до и после переменной finalText (внутри скобок), в противном случае ее значение будет проанализировано в javascript как переменное имя. Мне также пришлось поместить знак @ в начале обеих строк, чтобы иметь возможность использовать двойные кавычки
(подробнее об этом можно прочитать здесь: http://msdn.microsoft.com/en-us/library/362314fe(v=vs.71).aspx )

Ответ №2:

Вы используете jQuery? это делает его довольно простым

$(‘#target’).html(«»‘);

$(‘#imgPrint’).click(function() { printTranscript(» finalText «); });

Я просто люблю jQuery

Я не тестировал, но это будет что-то вроде этого

Комментарии:

1. ну, HTML создается в коде с помощью vb.net . Я попробовал registerstartupscript с jquery для добавления html, но у меня это не сработало

Ответ №3:

Просто привяжите событие click к вашему изображению. Установите оповещение на finalText и вуаля.

 $("#imgPrint").click(alert(finalText));
 

или

 $("#imgPrint").click(printTranscript(finalText));
 

finalText может быть сохранен как alt или заголовок на изображении, а затем вы также можете получить его с помощью jQuery, или вы можете установить его в поле с отображением none .

С приведенным выше кодом вам не нужен onClick на изображении.