onClick→小提琴工作在第一次点击,但停止工作-神秘
onClick -> Fiddle works on the first click, but stops working - mistery
我有这个jsfiddle,它只工作一次。
function toggle_off(itemID){
alert(itemID+'->'+document.getElementById(itemID).getAttribute("style"));
document.getElementById(itemID).style.display = 'none';
}
function maskIt(x){
alert(x);
var mask = document.createElement('div');
mask.id = 'maskIt';
mask.setAttribute("class", "maskIt");
mask.onclick = function(){toggle_off('maskIt');}
mask.innerHTML = 'click to close mask';
document.body.appendChild(mask);
}
点击它打开一个蒙版(图层),点击蒙版-关闭它自己-直到这里。
在第二次点击时,掩码再次打开,但当你第二次点击它时,它不会关闭。
任何想法?
与其隐藏div,不如在每次点击
时删除它function toggle_off(itemID){
alert(itemID+'->'+document.getElementById(itemID).getAttribute("style"));
var mask = document.getElementById(itemID);
mask.parentNode.removeChild(mask);
}
当你关闭覆盖时,你并没有破坏"maskIt"的第一个实例,所以它们在背景中建立起来。如果你在第二次点击后检查页面,你会看到两个maskItdiv,第一个隐藏。
当你调用getElementById('maskIt')时,它会找到文档中隐藏的第一个,因此不会隐藏第二个。
为什么不重用第一个掩码?
function toggle_off(itemID) {
alert(itemID + '->' + document.getElementById(itemID).getAttribute("style"));
document.getElementById(itemID).style.display = 'none';
}
function maskIt(x) {
alert(x);
var mask = document.getElementById('maskIt');
if (mask == null) {
mask = document.createElement('div');
mask.id = 'maskIt';
mask.setAttribute("class", "maskIt");
mask.onclick = function () {
toggle_off('maskIt');
}
mask.innerHTML = 'click to close mask';
document.body.appendChild(mask);
}
else
{
mask.style.display = "block";
}
}
http://jsfiddle.net/dFp6f/2/相关文章:
- jQuery UI自动完成突然停止工作
- JavaScript打印功能使日历停止工作
- 下拉列表在使用z索引放置在前面后停止工作
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 注入工厂时,Angular停止工作
- React Native DeviceEventEmitter键盘WillShow停止工作
- JavaScript在更改css时停止工作
- Chrome地理定位在更新后停止工作
- 重新启动jquery脚本后,角度停止工作
- twitter引导崩溃在第一次点击后停止工作
- 更新Wordpress和我的平滑滚动停止工作
- Hammer.js过了一段时间就停止工作了
- 应用程序在“关闭”之后停止工作(控制台中没有错误);咕哝的构造”;
- 当我添加JavaScript时,链接按钮停止工作
- NetBeans调试突然停止工作
- 某些Magento后端管理按钮已停止工作
- 表单验证在接近尾声时停止工作
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- 代码神秘地停止工作
- onClick→小提琴工作在第一次点击,但停止工作-神秘