多个div,js点击事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个div,js点击事件相关的知识,希望对你有一定的参考价值。

<div id="ok1"></div>
<div id="ok2"></div>
<div id="ok3"></div>
<div id="ok4"></div>
多选或单选点击事件,js怎么处理

参考技术A

    多选或者单选不应该是input type="radio" 或者 type="checkbox" 这种input标签么,怎么会想到用div呢

    用div的话

    方法1:在每个div中加个class,如 <div id="ok1" class="hhhhh"></div>

    然后引入jquery,定义

    $(function()

            $('.hhhhh').click(function(

                     //处理点击业务

            ))

    )

    方法2:在每个div中加个function,如 <div id="ok1" onclick="hhhhh(this)"></div>然后js方法:

    function hhhhh(thisObj)

              //处理点击业务  thisObj为当前this对象

本回答被提问者和网友采纳

Knockout JS 防止在特定子节点上触发点击事件

【中文标题】Knockout JS 防止在特定子节点上触发点击事件【英文标题】:Knockout JS prevent click event triggering on a specific child 【发布时间】:2016-01-15 09:28:41 【问题描述】:

我看到有人问过类似的问题,但我无法使用 Knockout 'data-bind' 解决问题

我有一个父 div,里面有多个 div。在父 div 上,我有一个点击事件,我不想在具有其他事件处理的特定子 div 上触发。 我有这样的事情:

<div class='parent' dataBind='click: parentClicked'>
  <div class='child' dataBind='click: childClicked'></div>
  ....some other stuff...
</div>

在我的视图模型中,我尝试过:

function parentClicked() 
  alert('parent clicked');

function childClicked(event) 
  alert('child clicked');
  event.stopPropagation();

我知道'event.stopPropagation()'不是一个函数。 我做错了什么?

【问题讨论】:

【参考方案1】:

您必须使用clickBubble: false。供参考:Preventing the event from bubbling

<div class='parent' dataBind='click: parentClicked'>
  <div class='child' dataBind='click: childClicked, clickBubble: false'></div>
  ....some other stuff...
</div>

【讨论】:

以上是关于多个div,js点击事件的主要内容,如果未能解决你的问题,请参考以下文章

如何用js点击一个div来显示另外一个div

Knockout JS 防止在特定子节点上触发点击事件

js或者jquery,点击删除删除某个div问题

js 怎样使div无法响应点击事件

用原生JS写一个点击事件

js循环点击div事件