javascript - 如何在 HTML 元素的 JS 事件监听器中嵌套引号?

标签 javascript html web

我想创建一个图像元素,单击该元素会打开一个具有指定背景的空白浏览器窗口:

<img src="http://example/image1.jpg" onclick="var w=window.open('','_blank');w.document.body.style.backgroundColor='url("http://example/image2.jpg")'">

但是,我无法使用 "'\xXX(十六进制)作为 url 来实现上述功能("http://example/image1.jpg"),因为 "' 都已用于外部作用域中的引用。

该怎么办?

最佳答案

删除内联处理程序(无论如何,它们通常被认为是非常糟糕的做法)并使用 Javascript 正确添加监听器,您不必担心由于 HTML 标记而必须转义:

const img = document.querySelector('img'); // feel free to make this more precise as needed
img.addEventListener('click', () => {
  var w = window.open('','_blank');
  w.document.body.style.backgroundColor = 'url("http://example/image2.jpg")';
  // alert('HelloWorld')">
});

关于javascript - 如何在 HTML 元素的 JS 事件监听器中嵌套引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57521403/

相关文章:

javascript - AngularJS 将特定数据绑定(bind)到模板

javascript - 语法错误: <a> link not working by clicking,只能通过右键+ "open link in new tab"命令打开

javascript - 你能在实例化后向 React JSX 元素添加一个键吗?

html - 使用 Django 删除项目按钮仅删除第一项

iis - 如何使用 WiX 将应用程序添加到现有的 IIS 站点

javascript - 尝试从多个输入中获取值

javascript - 刷新内容 jQuery

javascript - 提供 "In progress".. ."Done"通知的最简单方法?

html - 为什么即使我已经使用特定值尝试过,我的边框颜色也不会改变

javascript - 确定在 div 内单击了哪个按钮