我有一个HTML5日期选择器。
单击日期选择器文本框时,该窗口打开。
待办事项:
- 我必须将事件更改为图标,但我不确定如何实现这一点。
当我点击日历图标时,我必须打开日期选择器。
下面是我的日期选择器的HTML代码:
<img src="date.png" alt="Date Picker" id="datepickericon" />
<input name="calendarselect{ContactID}" class="timeselect" type="date" id="calendar">
<script>
document.getElementById("datepickericon").onclick = function(e){
console.log('inside click');
document.getElementById("calendar").style.visibility="visible";
// document.getElementById("calendar").focus();
// You could write code to toggle this
}
通过点击图标,我必须得到打开的日历视图,如下图
7条答案
按热度按时间bqf10yzr1#
如果你不介意在日期输入字段中有日历图标,那么一个跨浏览器的替代方法是将日历图标放置在三角形日历选择器指示器的顶部,然后将日历图标设置为
pointer-events: none
,这将导致所有的点击事件都传递到下面的三角形日历选择器指示器。我不太确定日历选择器指示器在不同浏览器中的位置是否一致,但应该非常相似。请看下面的示例。第一个
此外,还可以更改日期输入字段的某些外观(但日历日期选择器除外),因为它的样式类似于文本输入字段。此外,还有一些WebKit CSS属性,在这里进行了解释。HTML5日期选择器有任何样式选项吗?
a14dhokn2#
带有
type='date'
的HTML5<input>
只能在少数浏览器上工作。而且,作为一个程序员,你不能控制它的外观或任何其他方面(比如显示和隐藏它)(Quick FAQs on input type date)因此,如果你必须这样做,HTML5
<input type='date'>
标签不是一个选项,你必须使用JavaScript中的内置标签,比如jQuery UI或Bootstrap日期选择器。旧答案
你必须在点击图标时附加一个事件。假设你的HTML看起来像这样:
您必须检查图标上的
onclick
事件,并显示或隐藏日历。ijxebb2r3#
我回答这个问题,希望新来的人会觉得有帮助:我的html是这样的:
我已经在chrome模拟器和android设备上测试过了,它运行得非常好。不过需要在iOS设备上测试。
j9per5c44#
如果用户点击了相应的
label
标签,大多数浏览器(如果不是全部的话)都会关注表单控件。因此,一个可能的解决方案是将图标放入label
标签中,如下所示:但有几点需要注意:
label
标记还用于将表单控件的描述与表单控件本身连接起来,因此辅助技术(例如屏幕阅读器)可以通知用户他们选择了哪个表单控件。因此,可能不鼓励仅为了显示图标而误用label
标签。因此,使用两个label
标签,这两个标签都链接到同一表单控件,一个描述它,另一个用于日历图标。zvms9eto5#
你可以把日期元素粘贴到图标上,并给予输入不透明性:0;并给予字体大小一样大的图标是日期,然后它会wrock
3mpgtkmj6#
nimxete27#
您可以查看日期选择器的codepen链接。
https://codepen.io/ragi_jay/pen/NWdbJMG
HTML语言
CSS系统