0

如何将 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 开发人员的工具检查元素 ID,并且我没有看到使用此代码的任何更改。那么,有人可以帮忙吗?谢谢。:)

4

2 回答 2

2

您需要的唯一脚本是

$(function(){
    $('#dd').on('click', function(){
        $(this).toggleClass('active')
    });
});

演示:小提琴

于 2013-02-23T13:36:13.087 回答
0

你必须传递对象 $(this) is not recognizable ,使用 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>

不是最好的方法,您可以通过在事件中注册点击来绑定事件。

于 2013-02-23T13:36:12.530 回答