我使用bootstrap UI在角度上有日期选择器。这段代码在IE中工作得非常好,但它没有在chrome中打开。在调用方法后,open()输入框会聚焦,但日期选择器弹出窗口不会打开。任何帮助都会非常明显。提前致谢
<p class="input-group">
<input is-open="opened" type="text" datepicker-popup="M/d/yyyy" ng-model="Date" datepicker-options="dateOptions" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
Java脚本
$scope.open = function () {
$scope.opened = true;
};
答案 0 :(得分:1)
您需要停止点击事件从按钮传播,因为它会导致日期选择器立即关闭...
<button type="button" class="btn btn-default" ng-click="$event.stopPropagation(); open();">
<i class="glyphicon glyphicon-calendar"></i>
</button>
答案 1 :(得分:0)
它可以纠正使用上述解决方案的方式。
当你使用 $ event.preventDefault(); $ event.stopPropagation(); 要小心。它也可能影响其他组件事件。实时代码为http://jsfiddle.net/mDLzn/34/
$scope.open = function (event) {
event.stopPropagation();
event.preventDefault();
$scope.opened = true;
console.log('foo'); };