相关疑难解决方法(0)

在Mobile Safari下拉列表项目选择框中使用"下一步"时,select/dropdown的onchange()JS事件的奇怪行为

这是一个很难说清楚的,我是移动网络开发的新手,所以请耐心等待:

在我的网页上,我有3个嵌套下拉列表(区域,城镇,街道).

嵌套为,当每个下拉列表中的选项更改时,每个下拉列表的项目都会被修改.例如,选择区域会更改城镇街道列表,选择城镇会更改街道列表.

我在下拉列表的onchange()javascript事件中使用XMLHTTPRequests来获取和填充其他下载.这适用于Android和桌面浏览器.

在Mobile Safari上,触摸drowdown时,会显示一个列表,用户可以在其中选择项目.此外,选择框具有"上一个/下一个/自动填充/完成"按钮以导航到其他表单元素.

因此,用户触摸第一个下拉列表,选择一个值并按下"下一步"按钮.这会导致两个问题:

首先,在此操作中,第一个下拉列表的oncange()事件未被可靠触发!有时它有时不会发射.

如果在选择区域后,用户触摸网页上的其他位置或按"完成"按钮,则正常触发onchange()并正常填充城镇和街道.

其次,按下"下一步"按钮时聚焦的元素是获取后需要更改元素的下拉列表.当前一个下拉列表的onchange()被触发时,列表没有更新或者选择框中的项目变为蓝色,并且所有项目都有一个勾号表示它们全部被选中.

从我可以告诉这个问题将得到解决,如果我能在选择框中禁用下一/上一个按钮或以某种方式解决如何的onchange()被触发,焦点下拉的列表项的下一个被重新填充,而它的重点.

这是代码(简化):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no" />

    <title></title>
</head>
<body onload="AppStart();">
    <form action="#">
    Area:
    <select id="ddlArea">
        <option value="">-- Select Area -- </option>
        <option value="1">Area 1</option>
        <option value="2">Area 2</option>
        <option value="3">Area 3</option>
        <option value="4">Area 4</option>
        <option value="5">Area 5</option>
    </select>
    <br />
    Town:
    <select id="ddlTown"> …
Run Code Online (Sandbox Code Playgroud)

javascript iphone web-applications mobile-safari mobile-website

14
推荐指数
1
解决办法
2万
查看次数

在Mobile Safari中禁用"上一个"和"下一个"按钮

当专注于输入字段时,是否可以禁用Mobile Safari中的"下一个"和"上一个"按钮?我一直在尝试将所有字段设置为readonly="readonly"和分别在焦点/模糊上删除/重新应用属性的方法.它适用于某些领域,但并非适用于所有领域.在某些情况下,它感觉相当hacky/buggy.我可以普遍禁用上一个和下一个控件吗?这适用于iPad网络应用,因此可访问性不是问题.

jquery mobile-safari

12
推荐指数
2
解决办法
7726
查看次数