Firefox:点击并更改未附加到文档树中的复选框元素上的事件
Firefox: Click and change events on checkbox elements which are not appended into document tree
我用一个无线电组创建了一段HTML代码。但我没有将这个片段附加到文档树中,因为在向用户显示之前,我需要使用第一个单选元素的点击事件来配置这个片段。
我使用JQuery来设置点击处理程序。之后,我通过input.click()调用这个处理程序。该处理程序可以工作,但radio元素中的属性CHECKED不会更改,直到radio元素没有附加到文档树中。只有FF会这样做——其他浏览器(IE、Chrome、Safari)会更改此属性。当我将radio元素附加到文档树中时,FF可以更改此属性。你能解释一下FF为什么这么做吗?
$(function() {
$('#do').click(function() {
var input1 = $('<input type="checkbox" id="checkbox1"></input>');
input1.click(function() {
console.log('click => ' + (this.checked ? 'true' : 'false'));
});
input1.change(function() {
console.log('change => ' + (this.checked ? 'true' : 'false'));
});
input1.click(); // output: click => false
$('#result').append(input1); /*Will append not checked element*/
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="do">Click me</button>
<div id="result"></div>
PS复选框元素也表现为
也许这是FF中的一个错误,.click()在FF.中工作不好
您可以通过以下方式在所有浏览器中实现检查功能:
input1[0].setAttribute('checked', 'checked');
plnkr
在SO.中找到类似的问题
jQuery点击复选框没有';t检查firefox
相关文章:
- 选中了基于图像的复选框,但未将值添加到文本字段中
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 在同一行中为每个复选框显示和隐藏文本字段
- JavaScript-使用sessionStorage保存文档之间共享的复选框状态
- 如何使用选中的复选框文本自动填充输入文本字段
- 如果复选框未选中且文本字段不为空,则显示警报
- 根据文本字段中的用户输入隐藏/显示复选框
- 组合复选框以激活文本字段和有限数量的允许复选框
- 如果选中所有子复选框,如何选中父复选框 - 在文档就绪时
- 在“文档.表单 1.复选框.选中 == 真”
- 将 HTML 复选框值放入文本字段
- 如何在 Yii javascript 中使用复选框隐藏或显示文本字段
- 选中复选框时启用文本字段
- 如何在点击复选框时检索现有的jquery数据表(在文档上初始化)
- 如何在PDF文档中添加javascript来计算复选框的数量,并在文本框区域中输入值
- 显示在文档本身中选中了多少个表单复选框
- 如果我们在鼠标下移时设置preventDefault,然后双击文档,那么它就会阻止复选框/单选标签的默认行为
- 通过模态复选框选择将一个文档添加到另一个文档
- 使用文档计算复选框数组长度.getElementById在javascript
- 添加文档加载时无法检测复选框更改