Событие taphold не может быть привязано внутри ScrollView - PullRequest
3 голосов
/ 06 февраля 2012

Я использую PhoneGap и Jquery-mobile для разработки приложения для iPhone.Моя проблема заключается в том, что я не могу связать событие события внутри scrollView.

У моего приложения есть структура, как показано ниже:

HEADER:

<script src="javascripts/jquery.mobile/jquery.mobile-1.0.1.js"></script>
    <script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
    <script type="text/javascript" charset="utf-8" src="javascripts/jquery.easing.1.3.js"></script>
    <script type="text/javascript" charset="utf-8" src="javascripts/jquery.mobile.scrollview.js"></script>
    <script type="text/javascript" charset="utf-8" src="javascripts/scrollview.js"></script>

ТЕЛО:

<div data-role="content" data-theme= "d" data-scroll= "true" style= "overflow: scroll;">
<ul data-role="listview" data-theme="b">
    <li data-icon="thumb-up"><a href="#" class="list-item">
        <img src="http://jquerymobile.com/test/docs/lists/images/album-ok.jpg"
        class = "ui-li-icon-small"></img>
        <div class="user_note">
            <p class="title-item">Broken Bells</p>
            <p class="detail-item">Broken Bells</p>
            <p class="time-past">5 minutes ago</p>
        </div>
        <p class="desc-item">this is descrition example test data this is descrition example test data </p>
    </a>
    </li>
...
</ul>
</div>

JAVASCRIPT:

    $(".grid-item, .list-item").unbind('taphold');
    $(".grid-item, .list-item").bind("taphold", 
              function(event, ui){
              var icons = $(this).parent().parent().find(".ui-icon-thumb-up");
              icons.load("thumb_x_icons.html");
    });

Если я удаляю ScrollView, событие работает для меня.
Может быть, scrollView и предотвращает некоторые события.

Есть ли какое-либо решение для этого?или у вас есть способ прослушать событие longPress?

...