如何向div添加onClick侦听器。 如果div之前处于非活动状态,我想将div的名称更改为divclass active&如果用户再次单击列表,则删除“活动”一词。 我不知道该怎么做。 这是我到目前为止所尝试的
<script>
$function tog(){
$(this).toggleClass('active');
return false;
}
$(function() {
var dd = new DropDown( $('#dd') );
$(document).click(function() {
// all dropdowns
$('.wrapper-dropdown-4').removeClass('active');
});
});
</script>
其中我要更改其类名的div定义如下
<div id="dd" onclick="tog()" class="wrapper-dropdown-4">
<!--something-->
</div>
我试过了..
<html>
<head>
<script>
$('#dd').on('click', function(){
$(this).toggleClass('active')
});
</script>
<style>
.active {
color: red;
}
</style>
</head>
<body>
<div id="dd" class="wrapper-dropdown-4">
ddddd
</div>
</body>
</html>
现在这有什么问题?
我正在通过chrome developer的工具&amp;检查元素id。我没有看到使用此代码的任何更改。那么,有人可以帮忙吗? 谢谢。 :)
答案 0 :(得分:2)
您需要的唯一脚本是
$(function(){
$('#dd').on('click', function(){
$(this).toggleClass('active')
});
});
演示:Fiddle
答案 1 :(得分:0)
你必须传递对象$(this)无法识别,使用tog(this)
<script>
function tog(obj)
{
$(obj).toggleClass('active');
return false;
}
$(function() {
var dd = new DropDown( $('#dd') );
$(document).click(function() {
// all dropdowns
$('.wrapper-dropdown-4').removeClass('active');
});
});
</script>
<div id="dd" onclick="tog(this)" class="wrapper-dropdown-4">
<!--something-->
</div>
不是最好的方法,您可以通过在事件中注册点击来绑定事件。