单击listener以查看ajax加载的内容。纯javascript
我有一个javascript,它通过ajax加载了一些内容块单击listener以查看ajax加载的内容。纯javascript,javascript,ajax,Javascript,Ajax,我有一个javascript,它通过ajax加载了一些内容块 var sendContainer = document.getElementById("loadForm"); sendContainer.addEventListener("click", function (event) { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XML
var sendContainer = document.getElementById("loadForm");
sendContainer.addEventListener("click", function (event) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// Show loaded content block in result div
document.getElementById("result").innerHTML = xmlhttp.responseText;
}
};
var form = document.getElementById('ajax_send_message');
var formData = new FormData(form);
xmlhttp.open("GET", '/ajax', true);
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlhttp.send(formData);
});
和加载的内容块
<button type="button" id="ajax_submit"">Send</button>
只需将该行添加到XMLHttpRequest的onreadystatechange事件侦听器中
像这样
您应该使用jquery,就像您可以在页面的任何位置编写以下代码一样
$(document).on('someevent', 'yourelemenid', function(){
alert('work');
});
您确定您的xmlhttp.open方法语法正确吗?另外,要动态添加事件侦听器,只需在onreadystate changeUnrelated中执行即可:您费心检查浏览器是否提供XMLHttpRequest,但随后尝试使用.open。不管怎样,您都可以使用它。javascript无效。您在xmlhttp.open语句中有一个额外的引号。请在这里张贴您的工作代码。接下来的问题是,是否需要向通过ajax动态加载的元素添加事件列表器?可能是纯JavaScript的副本
var sendContainer = document.getElementById("loadForm");
sendContainer.addEventListener("click", function (event) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// Show loaded content block in result div
document.getElementById("result").innerHTML = xmlhttp.responseText;
document.getElementById("ajax_submit").addEventListener("click", function (event) {
alert('WORK!');
});
}
};
var form = document.getElementById('ajax_send_message');
var formData = new FormData(form);
xmlhttp.open("GET", '/ajax', true);
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xmlhttp.send(formData);
});
$(document).on('someevent', 'yourelemenid', function(){
alert('work');
});