点击label会自动触发onclick动作,点击它对应的input

要做一个点击radio,触发相应事件的js。

可是radio的点击面积太小,为了扩大它的点击面积,给它外层套了个label。

发现问题了?

怎么点label的区域都选中不了radio,只有label里面有文字了,点击才行.

解决办法:

给label加个透明的背景图,上面的问题就可以解决了。

 

现在呢,可点击的问题是解决。

又出现了新的问题?

在触发的事件中加了alert(),才发现alert()竟然执行了两次。

思考?

百思不得其解,代码里也没让它运行两次呀,百度搜了下,发现有网友说label会内部触发 onclick选中radio的事,果断尝试。

调用相关的函数后,加了个return false;阻止默认事件,发现alert()只执行一次了,但是radio再点击的时候却没有选中了,也就是阻止了label自动加onclick的事件。

解决办法:

不用label,用其它的标签代替,在点击的时候,让当前的标签下的radio的checked为true。这样就可以了

posted @ 2012-04-01 10:56  jingangel  阅读(5531)  评论(0编辑  收藏  举报