如何获取触发触控键的元素

How to get the element on which taphold is fired?

本文关键字:元素 何获取 获取      更新时间:2023-09-26

你能帮我定位一下在哪个元素上" taphold ";是使用JS, jQuery,或jQuery移动?

我的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的默认行为,但我不知道如何在用户点击并按住该列表时获取特定列表的Id。

您可以将taphold绑定到li元素而不是listview:

$(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);
    });
});