【问题标题】:Selecting a list item on a touch screen在触摸屏上选择列表项
【发布时间】:2016-10-10 12:13:47
【问题描述】:

我发现了基于或围绕这个问题的多个线程,但是到目前为止的答案没有帮助过什么。我正在尝试通过纯 JavaScript(接受 JQuery)来实现这一点。

到目前为止,我可以通过计算机上的网络浏览器选择一个项目,但点击事件似乎不适用于触摸屏。我尝试了其他线程的多个“解决方案”,例如添加触摸:

$('.List').on('click touch', function () {
// code
});

我当前的 JavaScript(在 pc 上工作):

document.querySelector('.List').addEventListener('click', function (e) {
var selected;

if (e.target.tagName === 'LI') {
    selected = document.querySelector('li.selected');
    if (selected)
        selected.classList = '';
    e.target.classList = 'selected'
}

document.getElementById('ItemValue').value = e.target.innerText;

});

在上面的 JavaScript 中,我只是为列表项的背景添加一种颜色,然后获取内部文本并存储它。

我的列表(项目在运行时添加)

<div id="SelectedItems" class="ListBox">
  <ul id="Selected" class="List ItemList" runat="server" >
    <%--List items here--%>
  </ul>
</div>

【问题讨论】:

  • 你在使用 Jquery 之前是否包含了 Jquery 库?
  • 啊……我现在试试……这个页面是唯一一个不使用包含引用的母版页的页面。
  • 我想我们每个人都会时不时地拥有我们的金发时刻,哇,我不敢相信我错过了。现在可以了,非常感谢
  • :),欢迎您。

标签: javascript jquery asp.net ipad touchscreen


【解决方案1】:

如果您确定包含 Jquery 库,请尝试使用此解决方案。

由于你所有的列表项都是在运行时加载的,你也可以这样使用,

$(document).ready(function () {
    $(document).on('click', '#Selected li' function () {
          // code
    });
});

【讨论】:

  • 问题示例中包含的另一个线程的代码现在可以工作了,因为我已经包含了库。再次感谢您指出这一点:)
  • 我的荣幸:)。
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 2012-08-02
  • 2014-09-10
相关资源
最近更新 更多