javascript - 如何在 JavaScript 变量内编写的 HTML 中将事件作为函数参数传递?

标签 javascript jquery html

在成功的 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/

相关文章:

javascript - 使用 EventHandler 更改文本颜色的问题

php - preg_replace ('/[\\s]/' ,'&nbsp;' $mysqlData) 导致文本从 div 溢出

javascript - Backbone.js:获取模型集合并渲染它们

javascript - JSF 2.0 Javascript 和 CSS 表格

Jquery 按钮值切换

jquery - 在 WordPress 中的 jQuery 代码中添加图像路径

javascript - 在 QWebview 中使用 javascript 访问文件系统

javascript - 选择合适的 HTML 元素

javascript - 删除已从另一个下拉菜单中选择的下拉值

jquery - 我想找到特定的类前缀