要做一个点击radio,触发相应事件的js。
可是radio的点击面积太小,为了扩大它的点击面积,给它外层套了个label。
发现问题了?
怎么点label的区域都选中不了radio,只有label里面有文字了,点击才行.
解决办法:
给label加个透明的背景图,上面的问题就可以解决了。
现在呢,可点击的问题是解决。
又出现了新的问题?
在触发的事件中加了alert(),才发现alert()竟然执行了两次。
思考?
百思不得其解,代码里也没让它运行两次呀,百度搜了下,发现有网友说label会内部触发 onclick选中radio的事,果断尝试。
调用相关的函数后,加了个return false;阻止默认事件,发现alert()只执行一次了,但是radio再点击的时候却没有选中了,也就是阻止了label自动加onclick的事件。
解决办法:
不用label,用其它的标签代替,在点击的时候,让当前的标签下的radio的checked为true。这样就可以了