다른 사용자가 사이트의 다른 곳을 클릭하면 메뉴 이동을 닫으려고합니다. 그것이 열려있는 것으로 판명 된 경우에만. 그러나 아래 발췌 문장은 브라우저에 불을 붙이고 잠그는 것처럼 보입니다. 그래서 나는이 잘못을 저지르고 있다고 생각합니다. 이 개념을 처리하는 더 좋은 방법이 있습니까?jquery 또는 javascript는 몸체를 클릭 할 때 표시되면 숨김 요소를가집니다. else
$(document.body).click(function() {
if($('#ztsWidgetMenu').is(':visible'))
{
$('#addDashWidgetBox').click();
}
});
편집
내가 요소 모두를 열려면 지금 클릭 이벤트에 해고 할 수있는 기능과에 전화를 몸 클릭을 만든 버블은 그러나 내가 실행과 중지 지금 또 다른 문제로. 메뉴를 열려면 메뉴를 열려면 meun 항목을 적어도 두 번 클릭해야합니다. 내가하고 닫습니다 동일한 버튼을 클릭하면 내가 어디 다른 신체를 클릭하지 않는 한 내가
function openCloseWidgetMenu()
{
dashboardJSON.widgets.sort(sortJSONresultsByWidgetID);
if(widgetMenuShowHide == "hide")
{
widgetMenuShowHide = "shown";
$.each(dashboardJSON.widgets, function(x)
{
if(dashboardJSON.widgets[x].show == "no"){$('#ztsWidgetMenu ul').append('<li class="widgetMenuItems" rel="'+dashboardJSON.widgets[x].wigetID+'" widgetcolor="'+dashboardJSON.widgets[x].widgetColor+'">'+dashboardJSON.widgets[x].widgetTitle+'</li>');}
});
$('#ztsWidgetMenu').css({"display":"block", "position":"absolute", "left":($('#addDashWidgetBox').position().left-35) + "px", "top":($('#addDashWidgetBox').offset().top+$('#addDashWidgetBox').height()+10) + "px"});
}
else
{
$('#ztsWidgetMenu ul li').remove();
$('#ztsWidgetMenu').hide();
widgetMenuShowHide = "hide";
}
}
$('#addDashWidgetBox').live({
click: function()
{
//e.preventDefault();
openCloseWidgetMenu();
},
mouseover: function()
{
$('#addWidetMenuBar').css({"background-position":"-0px -697px"});
$(this).css({"color":"#000"});
},
mouseout: function()
{
$('#addWidetMenuBar').css({"background-position":"-0px -662px"});
$(this).css({"color":"#5a5a5a"});
}
});
$(document.body).click(function() {
if($('#ztsWidgetMenu').is(':visible'))
{
openCloseWidgetMenu();
}
});
편집 .. 열어 붙어 있어요 2
나는 내 문제를 해결했습니다 대부분을 제외하고, 지금을 제외하고 .. 내가 요소를 클릭 할 때, 본체를 클릭하여 동시에 한 번 클릭하여 동일한 기능을 두 번 발사하는 동시에 메뉴를 표시하는 기능을 실행하고 싶습니다. 나는이 있으리라 믿고있어
음침한 소리도 들리고 있습니다. 거품을 터뜨려 제어 할 수있는 방법을 찾고 있습니다. – chris
불행히도 그 클릭을 시뮬레이트하는 것은 다른 기능을 발사하고 있습니다. – chris