2016-06-01 4 views
0

閉じるボタンがあるポップアップメニューがあります。また、ユーザーがボックスの外側をクリックしたときにもメニューを閉じるようにしています。Javascript - event.target not workingを使用して要素の外側をクリックします。

event.targetがボタン要素ではないが動作していないかどうかを調べるcloseMenu()内のif文を使用しようとしました。

どのようなアイデアや方向性がありがとうございます。

var button = document.createElement('DIV'); 
button.className = "DoorSelector--FamilyOption"; 
var event_func = (parent == null) ? this.closeMenu.bind(this, close_container) : this.createMenuOptions.bind(this, parent, null); 
button.addEventListener('click', event_func); 

Menu.prototype.closeMenu = function(container, event) { 
    event.preventDefault(); 
    event.stopPropagation(); 

    container.classList.remove('show'); 
}; 

フルコードは、必要に応じてhereで見ることができます。あなたは、クリックリスナーがbuttonに追加

おかげ

答えて

1

。コールバック関数closeMenuは、ボタンがクリックされた場合にのみ呼び出されるため、外部をクリックしても何も起こりません。あなたは "外部"にイベントリスナーを追加する必要があります:) 例えば

+0

になります。 – Madness

関連する問題