Как да получите елемента, върху който е задействан кранът?

Можете ли да ми помогнете да намеря на кой елемент taphold се задейства с помощта на JS, jQuery или jQuery Mobile?

Моята HTML структура е като по-долу

<script>
    $(document).on("pagecreate", function () {      
        $("#myFilesListView").bind('contextmenu', function (event) {
            event.preventDefault();
            event.stopPropagation();
            return false;
        });
    });
    $(document).ready(function () {
        $("#myFilesListView").bind("taphold", function (event) {
            event.preventDefault(false);
            event.stopPropagation();           
            var ID = $(this).child().attr("id");
            alert(ID);
        });
    });
</script>
    <div data-role="page" id="page1">
        <div data-role="header"></div>
        <div data-role="main">
            <ul data-role="listview" id="mylistview">
                <li class="mydata" id="1"> some conetent</li>
                <li class="mydata" id="2"> some conetent</li>
                <li class="mydata" id="3"> some conetent</li>
                <li class="mydata" id="4"> some conetent</li>
                <li class="mydata" id="5"> some conetent</li>
              <!--ids are not in predefined sequences and there may be 100s of list--> 
            </ul>
        </div>
 <div data-role="fotter"></div>
</div>

В моя JavaScript код мога да предотвратя поведението по подразбиране на taphold, но не разбирам как да получа идентификатора на конкретен списък веднага щом потребител докосне и задържи този списък.


person Manjeet Singh    schedule 02.10.2015    source източник


Отговори (1)


Можете да свържете taphold към li елементите вместо списъка:

$(document).on("pagecreate", "#page1", function () {      
    $("#mylistview").on('contextmenu', function (event) {
        event.preventDefault();
        event.stopPropagation();
        return false;
    });

    $("#mylistview li").on("taphold", function (event) {
        var ID = $(this).prop("id");
        alert(ID);
    });
});

ДЕМО

person ezanker    schedule 02.10.2015
comment
Благодаря за ценния ви отговор.....работи като чар, направих го така $(document).on(taphold, .touchableImage, function (event) { var ID = $(this).attr(id) ; hm.files.rightClickOptions(ID); }); - person Manjeet Singh; 03.10.2015
comment
Имам ново съмнение относно контекстното меню и имам нужда от помощ за това, така че трябва ли да го публикувам тук или да създам нов въпрос - person Manjeet Singh; 03.10.2015
comment
@ManjeetSingh, публикуването като нов въпрос ще накара повече хора да го разгледат и вероятно по-бърз отговор... - person ezanker; 05.10.2015