停止 Jquery 以在使用 innerHtml 呈现 html table 时自动触发 onclick 事件
Stop Jquery to automatic fire onclick event while rendering html table using innerHtml
如何在 html 正在使用按钮呈现 html table 时阻止 Jquery 触发 onclick 事件。
这些按钮需要存在,它们会因刷新原因而调用后端 API。
refreshUser() 需要在点击刷新按钮时手动触发。
jqueryfile.js
$(document).ready(function () {
refreshUser = function (userId) {
$.ajax({
url: "/services/svcCall/refreshUserDetails",
type: 'POST',
data: {format: 'json', userId: userId},
success: function (response) {
$('#userDetails-result').html("Refreshed completed.");
},
error: function () {
$('#userDetails-result').html("<p>There was an error processing your request. Please try again.</p>");
}
});
};
$('#userDetails-search').click(function () {
$('#userDetails-search').html("Fetching ...");
$.ajax({
url: "/services/svcCall/allUserDetails",
type: 'POST',
data: {format: 'json'},
success: function (response) {
var length = response.length;
var outerString = '<br><br><table border = 2>';
outerString += "<tr><td> UserDetails size present: " + length + "</td></tr>";
var innerString = '<tr><td><table border = 1>';
for (var i = 0; i < length; i++) {
innerString += "<tr>"
+ "<td> JSON:" + JSON.stringify(response[i]) + "</td>"
+ "<td> <input type=\"button\" onclick=\"" + refreshUser(response[i].userId) + "\" value=\" Refresh \"> </td></tr>";
}
innerString += "</table></td></tr>";
outerString = outerString + innerString + "</table>";
$('#userDetails-search').html(outerString);
},
error: function () {
$('#userDetails-search').html("<p>There was an error processing your request. Please try again.</p>");
}
});
});
});
HTML 文件
<table>
<tr><td><button id="userDetails-search">Find me all User Details</button></td></tr>
<tr><td><section id="userDetails-search"> </section></td>
<td><section id="userDetails-result"></section></td></tr>
</table>
您的 onclick 应该将 refreshUser 放入字符串中
onclick=\"refreshUser(" +response[i].userId + ")\"
如何在 html 正在使用按钮呈现 html table 时阻止 Jquery 触发 onclick 事件。 这些按钮需要存在,它们会因刷新原因而调用后端 API。 refreshUser() 需要在点击刷新按钮时手动触发。
jqueryfile.js
$(document).ready(function () {
refreshUser = function (userId) {
$.ajax({
url: "/services/svcCall/refreshUserDetails",
type: 'POST',
data: {format: 'json', userId: userId},
success: function (response) {
$('#userDetails-result').html("Refreshed completed.");
},
error: function () {
$('#userDetails-result').html("<p>There was an error processing your request. Please try again.</p>");
}
});
};
$('#userDetails-search').click(function () {
$('#userDetails-search').html("Fetching ...");
$.ajax({
url: "/services/svcCall/allUserDetails",
type: 'POST',
data: {format: 'json'},
success: function (response) {
var length = response.length;
var outerString = '<br><br><table border = 2>';
outerString += "<tr><td> UserDetails size present: " + length + "</td></tr>";
var innerString = '<tr><td><table border = 1>';
for (var i = 0; i < length; i++) {
innerString += "<tr>"
+ "<td> JSON:" + JSON.stringify(response[i]) + "</td>"
+ "<td> <input type=\"button\" onclick=\"" + refreshUser(response[i].userId) + "\" value=\" Refresh \"> </td></tr>";
}
innerString += "</table></td></tr>";
outerString = outerString + innerString + "</table>";
$('#userDetails-search').html(outerString);
},
error: function () {
$('#userDetails-search').html("<p>There was an error processing your request. Please try again.</p>");
}
});
});
});
HTML 文件
<table>
<tr><td><button id="userDetails-search">Find me all User Details</button></td></tr>
<tr><td><section id="userDetails-search"> </section></td>
<td><section id="userDetails-result"></section></td></tr>
</table>
您的 onclick 应该将 refreshUser 放入字符串中
onclick=\"refreshUser(" +response[i].userId + ")\"