javascript - 单击外部时日期选择器不会关闭

标签 javascript jquery

我正在使用此 javascript 代码来使用 hijri 日期选择器,但是当我打开 datepicker 并单击 div 或正文时,我的 datepiker 没有关闭。当我点击外侧时,任何人都可以帮助关闭日期选择器吗?我需要更正此代码并在单击日历或正文外部时隐藏日历。

<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
<title>Health Athority</title>

	<link rel="stylesheet" href="https://ZulNs.github.io/libs/calendar.css"/>
	<script type="text/javascript" src="https://ZulNs.github.io/libs/hijri-date.js"></script>
	<script type="text/javascript" src="js_clander.js"></script>
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<style>
	.my_row{
		
		margin-top: 30px;
		padding: 20px;
	}
#testme{
width:400px;
    border: 3px solid blue;
}
</style>

</head>

<div id="testme">
<div id="datepicker"><input id="picked-text" type="text" size="35"/><input id="pick-button" type="button" onclick="pickADate();" value="pick"/></div>

</div>
<script type="text/javascript">

  var pickedTxt = document.getElementById('picked-text'),
        pickBtn = document.getElementById('pick-button'),
        datepicker = new Calendar();
    document.getElementById('datepicker').appendChild(datepicker.getElement());
    datepicker.getElement().style.marginTop = '10px';

    datepicker.callback = function() {
        pickedTxt.value = datepicker.getDate().getDateString();
        pickedTxt.selectionStart = 0;
        pickedTxt.selectionEnd = pickedTxt.value.length;
        pickedTxt.focus();
    };

    datepicker.onHide = function() {
        pickBtn.style.display = 'inline-block';
    };
	
    function pickADate() {
        pickBtn.style.display = 'none';
        datepicker.show();
    }

</body>
</html>

最佳答案

您的示例似乎不起作用,您想要的只是在单击正文时关闭选择器,您可以通过 Jquery focusout 函数来实现它。

$('#datepicker').on('focusout', function(){
$('YourDatePickerID').hide();
});

关于javascript - 单击外部时日期选择器不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45430620/

相关文章:

javascript - 使用 jQuery 在悬停时加载文件

javascript - jQuery 在滚动时添加和删除类

javascript - 用3个字段进行计算

javascript - 如何在脚本中使用其他 JS 文件中定义的对象#

javascript - 点击通知时打开应用程序内的 url - Onesignal,Phonegap

javascript - 为什么 jQuery.height() 对 id 起作用,但对类不起作用?

javascript - 使用单选按钮更新 slider 和文本框的年\月计数

javascript - 以编程方式遍历色轮并访问十六进制值或 rgb

Javascript/AJAX 发送多个返回

javascript - 使用 bootstrapvalidator 发送成功验证后的发布请求