2016-01-07 45 views
0

這是我所說的例子的鏈接。
轉到鏈接 https://angular-ui.github.io/bootstrap/ 然後檢查plunker中的datepicker示例。角度日期選擇器爲什麼日曆框在點擊後關閉

如果我們查看代碼,我沒有看到任何魔術代碼來完成關閉部分。
我看到的是

$scope.open = function($event) { 
    $scope.status.opened = true; 
}; 

只打開日曆。
我的問題是它如何關閉日曆之外的點擊事件。這是我希望對其他指令也有很好的功能。
--------------------- Temp Solution ----------------
由於no1提供了一個答案。對於任何想知道如何做到這一點的人。我爲你們提供了一個臨時解決方案。
1.在最外面的標籤上添加ng。
2.在自定義標籤上添加ng-mouseleave和ng-mouseenter事件。
以下是流程:
當用戶將鼠標移出/放入自定義標籤時。您將標誌設置爲true/false。
然後當用戶點擊時,當鼠標位於自定義標籤之外時關閉div(您將使用該標誌進行檢查)。

+0

你能告訴我你究竟想問什麼。 ui.bootstrap.datepicker實際上是一個模塊,它後面寫有代碼。爲了使用它,我們將它注入爲依賴項,並且這樣做使得每當您在打開的視圖之外單擊時,它就會關閉。 –

+0

但我不明白你想要達到什麼目的? –

+0

我希望每當您在打開的視圖之外點擊時它就會關閉。我想知道這是如何工作的。如果我正在執行此功能,則會將鼠標懸停在事件偵聽器中並單擊偵聽器。點擊監聽器將在hoverOut標誌爲真時關閉日曆。 – Will

回答

0

我自己找到了。 這是因爲下面的代碼。

var documentClickBind = function(event) { 
    if (scope.isOpen && event.target !== element[0]) { 
     scope.$apply(function() { 
     scope.isOpen = false; 
     }); 
    } 
    }; 
相關問題