在成功的 ajax 调用并将该 html 附加到 div 后,我将一些 html 存储在变量中。除了事件参数之外,一切都很好。当我将事件作为 java 脚本函数的参数传递时,它将 img html 附加到 div,但单击图像时出现“意外标识符”错误。这是代码:
var dataToAppend = "<img onclick='getImgSrc("+event+")' data-toggle='modal' data-target='#msgPhotoModal' class='modal-message-img getSrc' src='" + data[i].ImgUrl + "' />" +
当我调试 dataToAppend 变量时,我得到:
<img onclick='getImgSrc([object Event])........'
其功能是:
function getImgSrc(e) {
debugger;
var src = $(this).attr('src');
$('.msgImg').attr('src', src);
}
还有 var src = $(this).attr('src');给我“未定义”。我做错了什么?
最佳答案
尝试通过直接传递 this
来更改 dataToAppend
变量,如下所示:
var dataToAppend = "<img onclick='getImgSrc(this)' data-toggle='modal'..."
并修改函数如下:
function getImgSrc(obj) {
debugger;
var src = $(obj).attr('src');
$('.msgImg').attr('src', src);
}
关于javascript - 如何在 JavaScript 变量内编写的 HTML 中将事件作为函数参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851629/