2

ギャラリーに関連付けた任意のデータに応じて、いくつかの画像操作を試みています。

  gallery.html('');
    $.each(data.photos, function(key, photo) {

        var item = "<li><a href='http://stage.domain.com/assets/img/user/"+photo.full+"'><img src='http://stage.domain.com/assets/img/user/"+photo.med+"'/></a></li>";

        gallery.append(item);
    });
    gallery.trigger('create');

    var options = {


        enableMouseWheel: false , 
        enableKeyboard: false ,
        captionAndToolbarAutoHideDelay:0,
        jQueryMobile:true

    }

    var swipe = $(".gallery a").photoSwipe(options);

    // onDisplayImage
    swipe.addEventHandler(PhotoSwipe.EventTypes.onDisplayImage, function(e){
        console.log('onDisplayImage{');
        console.log('onDisplayImage - e.action = ' + e.action);
        console.log('onDisplayImage - e.index = ' + e.index);
        console.log(swipe.getCurrentImage());
        console.log('onDisplayImage}');
    });

ただし、PhotoSwipe が定義されていないため、ondisplayimage イベントは発生しません。

 06-14 04:28:45.496: D/CordovaLog(31662): Uncaught ReferenceError: PhotoSwipe is not defined

https://github.com/codecomputerlove/PhotoSwipe/blob/master/src/examples/07-custom-toolbar.htmlは、必要な jquery 実装を使用していません。基本的に、jquery mobile を使用してイベント ハンドラーにフックするにはどうすればよいでしょうか。

4

1 に答える 1

6

変化する:

swipe.addEventHandler(PhotoSwipe.EventTypes.onDisplayImage, function(e){

に:

swipe.addEventHandler(window.Code.PhotoSwipe.EventTypes.onDisplayImage, function(e){

jQueryを使用してコンテンツを記述し、このようにクラスを直接呼び出して問題を解決しました。

于 2012-07-21T01:23:48.577 に答える