我想要我的javascript做什么:
我有一个div,其中包含一个“ onmouseover ='getPosition(x)' ”这个已添加,当我按下某个特定内容时,也可能会在我的javascript中删除按钮。函数' getPosition()'总是在div尚未删除时运行,因此它总是获取并更新div的位置并在 textfield占位符
$("#canvas").append('<div onmouseover="getPosition(this.id);"style="top:'+initXYpos+'px; left:'+initXYpos+'px;">Button '+index+'</div>');
问题:
当我删除包含“ getPosition(this.id) ”的div时,它仍会在出错时运行该函数: “ TypeError:null不是对象(评估'document.getElementById(x).style') ”
我只是希望它在删除div时停止运行。
这是getPosition(x)的函数:
function getPosition(x){
$('#canvas_container').mouseover(function(){
timer = setInterval(function() {
var xPos = document.getElementById(x).style.left;
var yPos = document.getElementById(x).style.top;
document.getElementById(x+'_fieldX').placeholder = xPos;
document.getElementById(x+'_fieldY').placeholder = yPos;
}, 10); }
注意:
如果您认为我的问题是由一个愚蠢的错误引起的,我很抱歉。我是Javascript的新手,我希望你理解并乐意帮助我。
答案 0 :(得分:0)
在你的javascript中,当你删除div时,你还必须使用这行代码停止计时器:
clearInterval(timer);
我的建议是删除计时器,因为你真的不需要它来实现你想做的事情