У меня есть небольшая проблема, которую нужно очень легко преодолеть. По какой-то причине я не могу это понять. Поэтому проблема заключается в том, что я не могу получить ссылку на какой-либо jquery. Моя настройка следующая (с указанием соответствующего кода):
JQuery:
function getContent() {
var data = {
numberID: 1
};
$.jsonAspNet("ContentService.asmx", "GetContent", data,
function (result) {
$('#content').html(result);
});
}
jQuery(document).ready(function () {
getContent();
});
HTML:
<div id="content"></div>
<WebMethod()> _
Public Function GetContent(number As Integer) As String
Dim sb = New StringBuilder
sb.AppendLine("<table>")
sb.AppendLine("<tr>")
sb.AppendLine("<td class='ui-widget-header ui-corner-all'>Number</td>")
sb.AppendLine("</tr>")
sb.AppendLine("<tr>")
sb.AppendLine("<td>" & number & "</td>")
sb.AppendLine("<td><a href='#' id='test' class='fg-button ui-state-default ui-corner-all'><img src='" & Context.Request.ApplicationPath & "/images/spacer.gif' class='ui-icon ui-icon-pencil' /></a></td>")
sb.AppendLine("</tr>")
sb.AppendLine("</table>")
Return sb.ToString
End Function
Так что основы того, что у меня есть, все работает, но я не уверен, как получить кнопку (id='test'
), чтобы связать ее с каким-то jQuery. Я хочу, чтобы это было нажато и появилось всплывающее окно.
Я попытался поместить jQuery в default.aspx
но это не работает, если кнопка не помещается в HTML на этой странице.
$('#test').unbind('click').click(function () {
alert('Working');
});
Я уверен, что это легко сделать, но я пытался какое-то время и не могу заставить его работать.
Это было очень мало, что вызвало это. Код для устранения этой проблемы выглядит следующим образом:
$('#test').unbind('click').click(test);
Это необходимо для входа в функцию с помощью json
:
function getContent() {
var data = {
numberID: 1
};
$.jsonAspNet("ContentService.asmx", "GetContent", data,
function (result) {
$('#content').html(result);
$('#test').unbind('click').click(test);
});
}
Спасибо всем, кто пытался мне помочь.
Когда вы загружаете контент через ajax, вы должны привязываться к $('#content')
. Как это:
$(function () {
$('#content').on('click', '#test', function () {
e.preventDefault(); // if a default action is not needed needed
alert('Working');
});
});
Проблема, которую вы пытаетесь связать с элементом, который еще не существует?
вы вызываете $('#test').unbind('click').click(function() { alert('Working'); });
ПЕРЕД доставкой?
$('#test').on('click', function () {
alert('Working');
});
Это свяжет событие с элементом '#test', как только он будет вставлен в DOM.
Я предполагаю, что это не предотвращает поведение по умолчанию тега A href. Теперь он, вероятно, будет ссылаться на "#", а не на запуск события onclick.
$('#test').on('click', function (e) {
alert('Working');
e.preventDefault();
});
Вы можете попытаться обернуть это в документе, готовом или, в конечном счете, использовать .on
связующее из jQuery, так как это динамический контент.
content.vb
.