IE下radio的onchange事件移除焦点后方可触发问题
radio的onchange函数大家应该都知道,但是今天小菜才发现这个很常用的函数在ie下的行为与其他浏览器的行为存在不一致性。
在FF,Chrome下,只要radio发生改变,onchange函数就会触发,而在IE下则是要等到radio失去焦点时onchange函数才会触发。
下面是一个简单的例子:
<input type="radio" name="aa" value="1" οnchange="alert(1)">
<input type="radio" name="aa" value="2" οnchange="alert(2)">
<input type="radio" name="aa" value="3" οnchange="alert(3)">
</body>
</html>
从这里我们可以看到,在FF,Chrome下,只要鼠标点击一个radio时,onchange就触发了,而在IE下时,当你点击一个radio时,onchange函数并没有触发,而是在你点击空白地方,radio失去焦点时才触发了。而且这个现象在IE6、7、8中都存在(IE9没有测试,IE10里已经没有问题了。。。)
那我们要怎么去解决这个问题呢?
我们可以在radio上加一个onclick函数来解决:
<input type="radio" name="aa" value="1" οnchange="alert(1)" onClick="this.blur();">
如果你是用jquery做的话,在1.3.2里面也是会有这个问题的,在1.4.2就没问题了
当然,你也可以要求用户告别IE6~(o(∩_∩)o 哈哈~,貌似这是前端人士的心声呀~)
IE下radio的onchange事件移除焦点后方可触发问题radio的onchange函数大家应该都知道,但是今天小菜才发现这个很常用的函数在ie下的行为与其他浏览器的行为存在不一致性。在FF,Chrome下,只要radio发生改变,onchange函数就会触发,而在IE下则是要等到radio失去焦点时onchange函数才会触发。下面是一个简单的例子:
//记一个
问题
(已经解决2016.5.5)
//在公司项目中遇见一个添加单选项的需求,采用ajax一步请求。为节约资源添加后不刷新网页,js动态改变页面
//当选择到动态添加的单选项,执行绑定
事件
radio
单选JS动态添加的选项,
onchange
事件
无效。使用delegate()函数可以解决该
问题
!!!
delegate():
delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个
事件
处理程序,并规定当这些
事件
发生时运行的函数。
使用 delegate() 方法的
事件
处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
$(selector).deleg
radio
的
onchange
函数大家应该都知道,但是今天小菜才发现这个很常用的函数在
ie
下的行为与其他浏览器的行为存在不一致性。
在FF,Chrome下,只要
radio
发生改变,
onchange
函数就会
触发
,而在
IE
下则是要等到
radio
失去
焦点
时
onchange
函数才会
触发
。
下面是一个简单的例子:
单选框按钮(
radio
)选择
事件
怎么设置呢?
既可以在
radio
标签里设置onclick
事件
实现,也可以设置它的
onchange
事件
实现,效果一样,代码如下:
那么当点击单选按钮的时候就会
触发
test函数。
<input type="
radio
" name="cmppProducts.isgive" id="isgive" value="1" checked="checked"
onchange
="changeIsgive()" />是
<input type="
radio
" name="cmppProducts.isgive" id="isgive" value="2"
onchange
="cha
一、用的jquery的
radio
的change
事件
:当元素的值发生改变时,会发生 change
事件
,
radio
选择不同name值选项的时候恰巧是值发生改变
表单单选框
<input type="
radio
" name="bedStatus" id="allot" checked="checked" value="allot">Allot
<input type="
radio
"...
<el-
radio
-group v-model="
radio
Treaty" @change="agreeChange">
<el-
radio
label="1" border>不同意</el-
radio
>
<el-
radio
label="2" border>同意</el-rad...
onchange
是一个HTML DOM
事件
,在用户改变HTML元素的值时
触发
。它通常用于表单元素,如input、select和textarea等。当元素的值发生变化时,
onchange
事件
会
触发
一个函数,从而可以执行一些操作。
例如,当用户选择下拉列表中的一个选项时,可以使用
onchange
事件
来执行特定的操作。以下是一个使用
onchange
事件
的示例:
```html
<select
onchange
="myFunction()">
<option value="apple">Apple</option>
<option value="orange">Orange</option>
<option value="banana">Banana</option>
</select>
<script>
function myFunction() {
var x = document.getElementById("mySelect").value;
alert("You selected: " + x);
</script>
在这个示例中,当用户选择下拉列表中的一个选项时,会
触发
myFunction()函数,该函数会获取用户选择的选项并弹出一个包含所选选项的警示框。
注意,
onchange
事件
只有在元素失去
焦点
时才会
触发
。如果您需要在用户更改元素的值时立即执行操作,则应该使用oninput
事件
。