-2

エラーを見つけるのに半夜を費やしますが、あきらめます。これは私の問題です。私のサイトでは、クリック イベントが機能しなくなりました。約 3 日前、すべてが正常に機能していました。一部の表記 ( //... ) 以外は変更していません。

URL: もう必要ありません。

通常、カードは dblclick でズームインします。また、左上のコントロール フィールドのすべてのボタンも機能するはずです (1 回のズーム後)。;)

左側にテスト div を追加しました。DIV だけです。

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

そしてJS部分は…

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

簡単でシンプルですが、うまくいきません。きっと、それは本当にばかげたもので、ちょっとわかりません。;(「on.」や「live.」でも試してみましたが…同じ結果でした

誰かが私に良いヒントをくれることを願っています。

前もって感謝します。

編集/更新:

ご助力いただきありがとうございます。違いを見るだけで疲れました。ライブ バージョンにはマップ上にアクティブなマーカーがないため、この小さな「null」エラーがあります。このエラーに対して行われた提案を検討しますが、この部分を完全に変更する可能性があります。

皆様のおかげです。あなたは、目の見えない人がコードの美しさを再確認するのを助けました。;)

4

4 に答える 4

1

あなたのインデックスページには次のものがあります:

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

次に、map.js に次のように記述します。

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

param が null です (null として渡されます)。

于 2013-09-30T00:01:57.463 に答える
0

http://dbl76.beuth-hochschule.de/~karte/にエラーが表示されます

「キャッチされていない TypeError: null のプロパティ '長さ' を読み取ることができません」.

要素の長さをチェックしていますか?、長さをチェックする前に、条件を含めます

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

また、追加しますか

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

document.ready() で、Web サイトに含まれているコードが表示されませんでした。ブラウザ コンソールで試してみると。それは正常に動作します。どのブラウザを使用していますか?

于 2013-09-29T23:59:06.357 に答える
0

コンストラクターnullに渡す (jQuery のメソッドを介してエラーが発生する) こととは別に、jQuery バージョン 1.10.2 を使用しています。Map.each()

あなたのmap.jsスクリプトは、.live()jQuery 1.9 で削除されたメソッドを使用しています。を使用するように切り替える必要がありますon()

また、その参照をクリーンアップしnullます。このようなものはおそらく

var obj = {}; // you had null here
$(document).ready(function() {
    var map = new Map(obj);
});
于 2013-09-30T00:01:26.337 に答える
0

また、マップをスクロールすると TypeError: e is undefinedが発生します。(Firefoxを使用して)stopWheel関数を呼び出すときに問題が発生すると思います。

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 */
    }
于 2013-09-30T00:06:06.237 に答える