我的表单中有一个div
标记没有id
属性。我需要在此on-click
代码上设置div
个事件。
我的HTML代码:
<div class="drill_cursor" >
....
</div>
我不想在id
标记中添加div
属性。
如何使用Javascript在此代码上添加on-click
事件?
答案 0 :(得分:32)
试试这个:
var div = document.getElementsByClassName('drill_cursor')[0];
div.addEventListener('click', function (event) {
alert('Hi!');
});
答案 1 :(得分:23)
document.getElementsByClassName('drill_cursor')[0]
.addEventListener('click', function (event) {
// do something
});
$(".drill_cursor").click(function(){
//do something
});
答案 2 :(得分:9)
只需添加onclick-attribute:
<div class="drill_cursor" onclick='alert("youClickedMe!");'>
....
</div>
这是javascript,但它会自动使用html属性进行绑定,而不是在<script>
标记内手动绑定它 - 也许它可以满足您的需求。
虽然它对于非常小的项目或测试页面可能已经足够好了,但如果您期望代码增长并保持可维护性,那么您应该明确考虑使用addEventListener
(正如其他答案所指出的那样)。
答案 3 :(得分:5)
建议您使用Id,因为Id只与一个元素相关联,而类名可能链接到多个元素,从而导致混淆以向元素添加事件。
如果你真的想要使用类,请尝试:
document.getElementsByClassName('drill_cursor')[0].onclick = function(){alert('1');};
或者您可以在html中分配函数:
<div class="drill_cursor" onclick='alert("1");'>
</div>
答案 4 :(得分:3)
文档类选择器:
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)
答案 5 :(得分:1)
单独的功能使添加事件处理程序变得更加容易。
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
});