2012-06-10 5 views
0

.load를 통해 페이지에 구입 한 요소에 대해 mousedown/up 이벤트 효과가 있어야합니다..live 구문에 문제가 발생했습니다.

내가 이것을 사용하고,하지만 난 내가 잘못을 찍었을 것 같아요 : 여기

$("#newBtn").live('mouseup', function(){ 
    $(this).css('box-shadow', '0px 7px 10px -5px #000'); 
}).mousedown(function(){ 
    $(this).css('box-shadow', '0px 7px 10px -5px #666'); 
}); 

가로드 이벤트 :

$('#dashboard').click(function() 
{ 
    $('#box').html(''); 
    $('#box').load('ajax/content.php #dashboard'); 
}); 
$('#calendar').click(function() 
{ 
    $('#box').html(''); 
    $('#box').load('ajax/content.php #calendar'); 
}); 

이 두 개의 버튼 중 하나는 것은 사업부를로드하는 #newBtn을 (를) 포함합니다.

도움이 될 것입니다.

나는 또한이 시도 :

$("#dashboard").on('load', function(){ 
    $('#newBtn').mouseup(function() 
    { 
     $(this).css('box-shadow', '0px 7px 10px -5px #000'); 
    }).mousedown(function(){ 
     $(this).css('box-shadow', '0px 7px 10px -5px #666'); 
    }); 
}); 

내 생각이었다 그 무장으로 내 페이지에하고자 이벤트를 마우스를 새로운 사업부를로드합니다. 그러나 그런 운이없는 :(확인

답변

0

,

내가 도움을 주셔서 감사합니다,하지만 나를 위해 방법에를 작동하지 않는 드디어 (라이브 방법 엔지니어의 구문을 사용하여) 이런 식으로있어

:.

$('#newBtn').live('mouseup','#newBtn',function() { 
     $(this).css('box-shadow', '0px 7px 10px -5px #000'); 
    }).live('mousedown','#newBtn',function() { 
     $(this).css('box-shadow', '0px 7px 10px -5px #666'); 
    }); 

유일한 이유는 누군가가 나에게 설명 할 수 있다면 왜 그렇게 잘 작동하는지 모르겠다.

+0

업데이트 된 답변을 사용해보십시오. '#dashboard'를 '#box'로 변경했습니다. '# box'는 이전에 생각하고 있던 # 대시 보드의 하위 항목이 아닙니다. – Engineer

+0

'live'를 사용하지 마십시오. 더 이상 사용되지 않습니다. 더 자세한 설명과 코드가 작동하는 이유는 docs-> http://api.jquery.com/live/, 특히'.live (events, data, handler (eventObject)) '부분을 참조하십시오. docs에 따르면 코드를'$ ('newBtn')로 단순화 할 수 있습니다. live ('mouseup', function() { // ... }) live ('mousedown', function() { // ... });', 당신이 '#newBtn'데이터를 핸들러에 전달하고 그 데이터가 핸들러/s에서 사용되지 않기 때문에. – Engineer