2012-04-08 2 views
0

datepicker에서 disabledDays에 대한 정보를 사용자에게 표시하려고합니다. 정보를주기 위해 날아 갔을 때 작은 상자 쇼를 이상적으로 갖고 싶습니다. 그렇게 할 수 없다면 mouseout에서 이벤트를 중지 할 수 없습니다. 그보다 더 많은 것은이 코드 조각이 회색 음영 영역에있는 날짜 피커의 바깥 쪽 가장자리에 텍스트를 첫 달 전과 마지막 달 이후에 배치하기는하지만 말입니다.datepicker onmouseenter 비활성화 된 메시지

<p class="pickdate"> 
<label for="pickDate"/> 
<input type="text" class="pickDate"/></p> 

$(function() { 
$("#pickDate").datepicker(); 
$(".ui-state-disabled").live("mouseover", function() { 
$("pickdate").text($(this).text('n/a')); 
}); 
}); 

답변

0

mouseout 이벤트도 바인드 했습니까?

$(".ui-state-disabled").on('mouseout', function() { 
    $("pickdate").hide() 
    //or whoever you want to hide it 
} 

디버깅 : 아무것도 일부 로그 메시지를 삽입 발생하지 않은 경우 : 메시지는 아마 hide() 당신의 pickdate 작동하지 않습니다 나타납니다

$(".ui-state-disabled").on('mouseout', function() { 
    console.log("mouseout event fired! YEHA!"); 
    //or alert("mouseout event fired! YEHA"); 
    $("pickdate").hide() 
    //or whoever you want to hide it 
} 

합니다. 이상하게도 나는 그것을 정확히 숨길 방법을 모르겠습니다. 주어진 코드 대신 다른 트릭을 자유롭게 수행 할 수 있습니다.

로그 메시지 나 경고가 전혀 나타나지 않으면 mouseout 이벤트가 발생합니다. 이 동작을 빈 테스트 div에 바인딩하여 테스트 할 수 있습니다. 그냥 모든 방해로부터 자유 로워지기 위해서. 브라우저가이 요소 유형을 지원하는지 확인하십시오.

또한 어떤 버전의 jQuery를 사용하고 있습니까? 나는 당신이 live()을 수행 한 것을보고, 버전 1.7은 더 이상 사용되지 않고 on()으로 대체되었습니다.

(나는 또한 실수로 bind() 대신 on(). 설상가상으로 사용이 편집하기 전에. 그래서 어쩌면 그냥 수정 코드를 한 번 더 시도합니다.)

+0

여전히 마우스를 이동하면 사라지지 않을 것으로 보인다. – amespower

+0

일부 디버깅 정보로 업데이트되었습니다. 또한 on() 대신 bind()를 사용하여 실수를 알 수 있습니다. 한 번 더 해보십시오. 큰 미안! – yoshi

+0

다시 한 번 감사드립니다. – amespower

관련 문제