[英]Add click event on div tag using JavaScript
我的表单中有一个没有id
属性的div
标签。 我需要在这个div
标签上设置一个on-click
事件。
我的 HTML 代码:
<div class="drill_cursor" >
....
</div>
我不想在我的div
标签中添加id
属性。
如何使用 JavaScript 在此标签上添加on-click
事件?
document.getElementsByClassName('drill_cursor')[0]
.addEventListener('click', function (event) {
// do something
});
$(".drill_cursor").click(function(){
//do something
});
试试这个:
var div = document.getElementsByClassName('drill_cursor')[0];
div.addEventListener('click', function (event) {
alert('Hi!');
});
只需添加 onclick 属性:
<div class="drill_cursor" onclick='alert("youClickedMe!");'>
....
</div>
它是 javascript,但它使用 html 属性自动绑定,而不是在<script>
标签中手动绑定它 - 也许它可以满足您的需求。
虽然它对于非常小的项目或测试页面来说可能已经足够了,但如果您希望代码增长并保持可维护性,您绝对应该考虑使用addEventListener
(正如其他答案所指出的那样)。
建议您使用 Id,因为 Id 仅与一个元素相关联,而类名可能会链接到多个元素,从而导致向元素添加事件时造成混淆。
如果您真的想使用类,请尝试:
document.getElementsByClassName('drill_cursor')[0].onclick = function(){alert('1');};
或者您可以在 html 本身中分配函数:
<div class="drill_cursor" onclick='alert("1");'>
</div>
文档类选择器:
document.getElementsByClassName('drill_cursor')[0].addEventListener('click',function(){},false)
还有文档查询选择器https://developer.mozilla.org/en-US/docs/Web/API/document.querySelector
document.querySelector(".drill_cursor").addEventListener('click',function(){},false)
单独的函数使添加事件处理程序更容易。
function addListener(event, obj, fn) {
if (obj.addEventListener) {
obj.addEventListener(event, fn, false); // modern browsers
} else {
obj.attachEvent("on"+event, fn); // older versions of IE
}
}
element = document.getElementsByClassName('drill_cursor')[0];
addListener('click', element, function () {
// Do stuff
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.