点击事件处理程序不再有效

时间:2013-09-29 23:53:19

标签: javascript jquery html click

我花了半夜找到错误,但我放弃了。这是我的问题。 在我的网站上,单击事件不再起作用。大约三天前,一切都运转良好。除了一些符号(// ...)之外,我没有做任何更改。

网址:不再需要了。

通常情况下,该卡会放大dblclick。 上,左控制区域中的所有按钮也应该工作(一次缩放后)。 ;)

我在左侧添加了一个测试div,只是一个DIV:

<div id="blab">TEST</div>

对于JS部分......

$("#blab").click(function () {
    alert("test");
});

简单易行,但也不行。我打赌,它的东西真的很愚蠢,有点我没有想法。 ( 我用“on”试了一下。或“活着”。太。 ......同样的结果

我希望有人能给我一个很好的建议。

提前致谢。

编辑/更新:

感谢您的帮助。我只是厌倦了看到差异。实时版本在地图上没有活动标记,因此有一点“空”错误。我考虑了这个错误的建议,但也许我完全改变了这个部分。

万分感谢你们。你帮助盲人再次看到了代码之美。 ;)

4 个答案:

答案 0 :(得分:1)

在索引页面中,您有以下内容:

var obj = null;
$(document).ready(function() {
    var map = new Map(obj);
});

然后在map.js中你有这个:

$.each(param, function(idx, obj){ Geo(obj); });

param为null(传入null)。

答案 1 :(得分:0)

我可以在http://dbl76.beuth-hochschule.de/~karte/

中看到错误

“未捕获的TypeError:无法读取null的属性'length'”。

您是否检查任何元素长度?,在检查长度之前,包括条件

if (element != null) 
{
  //access the value of element length
}

而且,你是否正在添加

$("#blab").click(function () {
    alert("test");
});
在document.ready()中的

,当我在浏览器控制台中尝试时,我看不到网站中包含的代码。它工作正常。您使用的是哪种浏览器?

答案 2 :(得分:0)

除了将null传递到Map构造函数(通过jQuery的.each()方法导致错误)之外,您使用的是jQuery版本1.10.2。

您的map.js脚本使用jQuery 1.9中删除的.live()方法。您需要切换到使用on()

我还要清理null引用。这样的事可能

var obj = {}; // you had null here
$(document).ready(function() {
    var map = new Map(obj);
});

答案 3 :(得分:0)

滚动地图时,我也得到 TypeError:e未定义。我认为当你调用stopWheel函数(使用Firefox)时会出现问题。

m.viewingBox.hover(function() {
        $(document).bind('mousewheel DOMMouseScroll',function(){ 
            stopWheel(); 
        });
    }, function() {
        $(document).unbind('mousewheel DOMMouseScroll');
    });


function stopWheel(e){
        if(!e || typeof e == "undefined"){ /* IE7, IE8, Chrome, Safari */ 
            e = window.event; 
        }
        if(e.preventDefault) { /* Chrome, Safari, Firefox */ 
            e.preventDefault(); 
        } 
        e.returnValue = false; /* IE7, IE8 */
    }