我有一个 <input type="radio" />
, 和一个 <select>
紧随其后,我想在选择或取消选择单选按钮时显示/隐藏此选择元素。
当我绑定(bind)到 blur
时事件,jQuery(this).is(':checked')
说 radio 仍在检查中。 (顺便说一句,这个浏览器的行为是特定的吗?)
那么有没有一个beforeBlur
/afterBlur
, click
, focus
等等...我可以用来捕获 radio 输入的选定状态的函数或 hack?
一个想法是为将更改选择元素可见性的函数设置超时。
----编辑----
所以这里的代码: http://jsfiddle.net/jHbwK/1/
<input type="radio" value="1" name="radio">
<span style="display: none;">text1</span>
<br />
<input type="radio" value="2" name="radio">
<span style="display: none;">text2</span>
和
$('input[name="radio"]').change(function(){
reset();
if ($(this).is(':checked'))
$(this).next().css('display','');
else
$(this).next().css('display','none');
});
function reset(){
$('input[name="radio"]').next('span').css('display','none');
}
所以当任何事件被触发时,项目仍然被检查,我想知道有没有办法让“if”的第二部分工作 -
else
$(this).next().css('display','none');
它永远不会运行
那么,这是特定于浏览器的行为,还是我可以在 javascript 中使用诸如“beforeBlur”和“afterBlur”事件之类的东西?
----编辑----
我想要的模拟是 RDBMS 中的触发器之前和之后。似乎 javascript 只有一个“之前”触发器,对吗?
最佳答案
正如 Ken Egozi 所指出的,“改变”将是我认为的最佳方法:
关于javascript - jquery 是否支持 beforeBlur/afterBlur 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5095891/