在div上单击事件,单击鼠标div,一切正常,但鼠标直接检查复选框是否异常,跟踪调试,原因尚未发现,下面是另一种解决方法。




在前端开发的过程中,有一个情况需要检查,并放置在方便用户的div的单击事件。(其中Knockout.js使用)

代码可能如下所示:

复制代码代码如下所示:

请帮我挂上电话。


但这是一个奇怪的现象,鼠标点击div,一切正常。

但是用鼠标直接选择复选框是不正常的:

复选框处于未选中状态。鼠标直接点击复选框。此时,应实现如下:1、执行DIV点击活动事件;2、活动执行后,复选框处于选中状态。

但最终的结果是复选框仍然处于未选中状态。

跟踪和调试的结果是,当点击活动执行时,复选框处于检查状态。但在点击活动执行时,它进入jQuery的代码执行。经过两到三步后,复选框将更改为未选中状态。

原因到目前为止还没有发现。(在RadioBOX是用来在另一个地方的类似情况)

没有办法,只能改变。通过覆盖一层div上复选框,让鼠标点击时的div代替复选框,通过点击活动改变复选框的状态。

实施情况如下:

复制代码代码如下所示:



请帮我挂上电话。



我是两和三这两个DIV,并建立的关键是建立两个属性:位置:绝对;Z指数:1;

上层的div的z-index大于低层下面的div。

上述div的id属性只是为了说明在通用程序中使用类属性设置。