如何在 javascript 中使用 Onclick 属性动态创建对象
How do I create objects dynamically with Onclick property in javascript
>我有以下代码
var eventbar = document.createElement("Div");
eventbar.id = "eventa";
eventbar.className= "event";
eventbar.onclick = 'createpopupdata(this)';
eventbar.innerHTML = "Click here";
document.getElementById("body").appendChild(eventbar);
但是,当它在 HTML 中创建对象时,我的检查器在创建的 HTML Div 中不显示 onClick 属性。想知道我是否出错了,因为我尝试了多种方式发布在这里。(显然没有引号立即运行函数(。
编辑:如果我必须做一些特别的事情,比如为对象创建一个侦听器,或者如果有一个简单的解决方案,我会很高兴。
你可以尝试这样的事情:
var eventbar = document.createElement("Div");
eventbar.id = "eventa";
eventbar.className = "event";
eventbar.onclick = createpopupdata.bind(null,eventbar);
eventbar.innerHTML = "Click here";
document.getElementById("body").appendChild(eventbar);
function createpopupdata(el){
alert(el.id)
}
div{
width:50px;
height:50px;
background:#eee;
}
<div id="body"></div>
你的onclick
(不是onClick
区分大小写!(应该是对函数(createpopupdata
(的引用,而不是对它的调用('createpopupdata(this)'
(。首先将其添加到 DOM,然后添加到 onclick 侦听器。
function createpopupdata(event) {
var el = event.target;
alert(el.id + " clicked, foo: " + el.dataset.foo + ", bar: " + el.dataset.bar);
}
var eventbar = document.createElement("Div");
eventbar.id = "eventa";
eventbar.dataset.foo = "FOO";
eventbar.dataset.bar = "BAR";
eventbar.className= "event";
eventbar.innerHTML = "Click here";
document.getElementsByTagName("body")[0].appendChild(eventbar);
eventbar.onclick = createpopupdata;
您还必须具有<body id="body">
才能使您的版本正常工作。我修改了它以在通常的情况下工作。
这应该有效:
eventbar.addEventListener('click', function (){
createpopupdate(this);
}, false);
相关文章:
- 如何通过它瞄准javascript元素's的onclick属性
- 如何在循环中设置onclick属性
- 具有多个功能的Onclick属性
- 使用 javascript 禁用 onclick 属性
- 在单击onclick属性后的按钮时执行f:setPropertyActionListener
- 如何在Rails表单标记中获取onclick属性
- 在django帮助文本字段中放置带有onClick属性的链接
- 创建选项onClick属性
- $(this) 在 onclick 属性中不起作用
- 如何在asp.net图像控件中使用OnClick属性来制作图像库
- 将.onclick属性中的文本替换为javascript
- 我可以't获取单选按钮上的onclick属性以执行javascript函数
- 为什么onclick属性不起作用
- 来自jquery的.append中img标记中的onclick属性
- javascript函数和html onclick属性
- 未调用通过 onclick 属性分配的处理程序
- onclick属性的引号过多的问题 - jQuery,HTML
- 使用 ajax 更改 onClick 属性不会触发新事件
- 在 onClick 属性中声明变量,并在 onClick 中使用多个命令
- 在输入表单标记中使用 onclick 属性时出现 JavaScript 未捕获的引用错误