Javascript 点击图标后,Angular js和bootstrap ui日期选择器无法在chrome中打开

Javascript 点击图标后,Angular js和bootstrap ui日期选择器无法在chrome中打开,javascript,angularjs,datepicker,modal-dialog,angular-ui-bootstrap,Javascript,Angularjs,Datepicker,Modal Dialog,Angular Ui Bootstrap,我在angular中使用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="date

我在angular中使用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>
$scope.open = function (event) { 
event.stopPropagation();
event.preventDefault();
$scope.opened = true; 
console.log('foo'); };

您需要停止单击事件从按钮传播,因为它将导致日期选择器立即关闭

<button type="button" class="btn btn-default" ng-click="$event.stopPropagation(); open();">
    <i class="glyphicon glyphicon-calendar"></i>
</button>
$scope.open = function (event) { 
event.stopPropagation();
event.preventDefault();
$scope.opened = true; 
console.log('foo'); };


这可能是使用上述溶液的正确方法。
$scope.open = function (event) { 
event.stopPropagation();
event.preventDefault();
$scope.opened = true; 
console.log('foo'); };
使用$event.preventDefault()时$event.stopPropagation()

$scope.open = function (event) { 
event.stopPropagation();
event.preventDefault();
$scope.opened = true; 
console.log('foo'); };

可能应该同时添加这两个$event.preventDefault()$event.stopPropagation();谢谢@Anthony Chu这对我来说很好。非常感谢。