点击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。这样就可以了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM