div.innerHTML,innerText的问题 1 第一个缺少了<body>标签,加上就正确了,但2即使少个<body>一样可以运行,原理不知道。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.我用ie7测下来似乎没问题。4: obj.innerHTML ='<select id="select_year">';后,实际上是插入了完成的<select>改成function calselect(obj){ obj.onmouseover= function(){ xx ='<select id="select_year">'; for(var i=2000; i<2001; i++) { xx +="<option value=" + i + ">" + i + "</option>"; } xx +='</select><input id="input_year" type="text" value="aaa">'; obj.innerHTML = xx; this.onmouseover= null; }} 1这个问题我以前也发现过,所以做DIV的时候一般都带<div id="test"> </div> to hookee():你的方法可行的; ps:this.onmouseover= null;我看见好多人在执行完事件后都将它设为NULL,但不知道原理,谁能解释一下? 4的问题是因为每次请求innerHTML的时候,浏览器会重新解析,而在加的时候不符合DOM关系,所以乱掉了 1,2 运行都是正常的,除非是document.getElementById("text").firstChild.data = "modify";才会出错,原因是element.firstChild == null;第4:你把obj.onmouseover = function(){去掉用另外一個变量保存值之后再赋值给obj.innerHTML function calselect(obj){ //obj.onmouseover= function(){var objc ; objc ="<select id='select_year'>"; for(var i=2000; i<2010; i++) { objc +="<option value=" + i + ">" + i + "</option>"; } objc +="</select><input id='input_year' type='text' value='aaa'>"; //} obj.innerHTML = objc;} 不设置this.onmouseover=null的话,每次触发该事件都会执行一次该代码了。 <body><div id="cal_select" >aaa</div></body><script>debugger;window.onload=function(){calselect(document.getElementById("cal_select"));}function calselect(obj){ obj.onmouseover= function() { var xx ='<select id="select_year">'; for(var i=2000; i<2001; i++) { xx +="<option value=" + i + ">" + i + "</option>"; } xx +='</select><input id="input_year" type="text" value="aaa">'; obj.innerHTML =xx; } obj.onmouseout = function() { obj.innerHTML ="aaa"; } }</script>像要的效果是移动上去出现下拉输入框,移开就显示aaa;为什么不行呢? 当然是执行了的,只是执行太快看不到,如果是循环那么多次最好用数组<body><div id="cal_select" >aaa</div></body><script>debugger;window.onload=function(){calselect(document.getElementById("cal_select"));}function calselect(obj){ obj.onmouseover= function() { var xx ='<select id="select_year">'; for(var i=2000; i<2001; i++) { xx +="<option value=" + i + ">" + i + "</option>"; } xx +='</select><input id="input_year" type="text" value="aaa">'; obj.innerHTML =xx; alert(obj.innerHTML) } obj.onmouseout = function() { obj.innerHTML ="aaa"; } }</script> onmouseover到div上后出现<input><select>这同时丢掉了div焦点,也就是是执行了onmouseout,能这样解释执行太块的原因么?但ie的话,<div>里面的<input><select>的onmouseover会冒泡执行<div>里的onmouseover;那是不是我鼠标离开<input><select>,还会执行一次<div>里的onmouseover呢? 定时改变img的src属性,并改变对应新闻列表 关于javascript 函数包含函数的问题 javaScript 怎么实现 一个 留言文字 编辑器 页面间切换时间长,就添加了等待DIV,现在希望这个DIV仅当页面切换时间超过3秒时才出现,怎么半 在链接上按enter回车键,如何捕获事件? 请教:全选 和 反选 checkbox 表单生成单号问题 给text付值的方法? 请教:文件上传时判断文件名 问题!!晕 动态option怎样selected,谢谢阿! 怎样在<TD></TD>里加背景图片?
4: obj.innerHTML ='<select id="select_year">';后,实际上是插入了完成的<select>
改成
function calselect(obj)
{
obj.onmouseover= function(){
xx ='<select id="select_year">';
for(var i=2000; i<2001; i++)
{
xx +="<option value=" + i + ">" + i + "</option>";
}
xx +='</select><input id="input_year" type="text" value="aaa">';
obj.innerHTML = xx;
this.onmouseover= null;
}}
<div id="test"> </div>
ps:
this.onmouseover= null;
我看见好多人在执行完事件后都将它设为NULL,但不知道原理,谁能解释一下?
除非是document.getElementById("text").firstChild.data = "modify";
才会出错,原因是element.firstChild == null;第4:
你把obj.onmouseover = function(){去掉用另外一個变量保存值之后再赋值给obj.innerHTML function calselect(obj)
{
//obj.onmouseover= function(){
var objc ;
objc ="<select id='select_year'>";
for(var i=2000; i<2010; i++)
{
objc +="<option value=" + i + ">" + i + "</option>";
}
objc +="</select><input id='input_year' type='text' value='aaa'>";
//}
obj.innerHTML = objc;
}
<div id="cal_select" >
aaa
</div>
</body>
<script>debugger;
window.onload=function(){
calselect(document.getElementById("cal_select"));
}
function calselect(obj)
{
obj.onmouseover= function()
{
var xx ='<select id="select_year">';
for(var i=2000; i<2001; i++)
{
xx +="<option value=" + i + ">" + i + "</option>";
}
xx +='</select><input id="input_year" type="text" value="aaa">';
obj.innerHTML =xx;
}
obj.onmouseout = function()
{
obj.innerHTML ="aaa"; }
}
</script>
像要的效果是移动上去出现下拉输入框,移开就显示aaa;为什么不行呢?
<body>
<div id="cal_select" >
aaa
</div>
</body>
<script>debugger;
window.onload=function(){
calselect(document.getElementById("cal_select"));
}
function calselect(obj)
{
obj.onmouseover= function()
{
var xx ='<select id="select_year">';
for(var i=2000; i<2001; i++)
{
xx +="<option value=" + i + ">" + i + "</option>";
}
xx +='</select><input id="input_year" type="text" value="aaa">';
obj.innerHTML =xx;
alert(obj.innerHTML)
}
obj.onmouseout = function()
{
obj.innerHTML ="aaa"; }
}
</script>
但ie的话,<div>里面的<input><select>的onmouseover会冒泡执行<div>里的onmouseover;
那是不是我鼠标离开<input><select>,还会执行一次<div>里的onmouseover呢?