2012-04-03 4 views
0

divにいくつかのオブジェクトを動的に追加しようとしています。作成されました。次のコードは動作し、PC上のFirefoxで正常にこれを行いますが、私はiPhone上でそれをテストするとき、私は開発者のウィンドウで、次のエラーを取得 -iphoneのモバイルサファリでonlickイベントを追加してトリガーしようとしています

function processData(data) {   
$.each(data, function(i) {    
    $('<div>').append($('<img>').attr('src', '').attr('id','image'+i)).data('large', this[0]).appendTo('#gallery'); 
}); 
$('#gallery div').touchGallery({ 
    getSource: function() { 
    var f = $(this).data('large'); 
    return f; 
} 
}); 
document.getElementById("image0").addEventListener('click', function(){},false);  
document.getElementById("image0").click(); 
} 

- ここ

TypeError:Result of expression 'document.getElementById("image0").click [undefined] is not a function

は私のコードです私はこれはFirefoxでうまく動作すると言うように。私はおそらくタッチデバイス上でクリックイベントを引き起こす別の方法があると思いますか?それともこのイベントは可能ですか?私はTouchGalleryを使用して画像のスライドショーを表示し、画像のギャラリーを表示する代わりに、ユーザーがスライドショーを開始するためにクリックする必要がありますが、自動的に開始します。

すべてのリードはありますか?

+0

は、それは 'クリックが()'関数ではありませんと言います。そのリスナーではなく、そのクリックをシミュレートします。 – c69

答えて

1

クリックイベントバインディングにjQueryを使用していないのはなぜですか?

JavaScriptは、あなたが使用している.click()を知らないというエラーがあると思います。

$("#image0").click(function(){});はすべきことです。

(または、あなたはDOMのロードされた後にギャラリーのdiv内の画像を追加しているので、:$("#gallery").delegate("img", "click", function(event){});を使用)

+0

これは正しい方向に私を送りました - はい私は間違っていた.click()。結局私はimage0要素にeventListenerを追加する必要がありました - document.getElementById( "image0")。addEventListener( 'click'、function(){}、false);しかし、私が$( "#image0")。click()を使用したとき、このクリックイベントを正しく呼び、スライドショーをロードしました。乾杯! – undefined

関連する問題