2010-12-10 3 views
1

저는 오랫동안 jQuery에 어려움을 겪고 있습니다. 매우 강력하며 jQuery로 할 수있는 많은 것들이 있습니다.기본 jQuery 문제

제 문제는 많은 jQuery 기능을 동시에 사용한다는 것입니다. 예 : 나는 항목을 표시하는 사이트가 있고 페이지 당 12 개의 항목이 있으며 jquery를 사용하여 페이지를 매김 할 수 있습니다. 같은 페이지에서 jumps를 사용하는 thumpsUp 버튼도 구현했습니다.

더 많은 jQuery 기능을 사용할수록 올바르게 정렬됩니다. 예 :

$(document).ready(function() { 
$(".cornerize").corner("5px"); //cornerize links 
$('a#verd').live('click', exSite); //open iframe 
$("a.tp").live('click', thumpsUp); //thumps up 
$("a#next").click(getProgramms); //next page 
$("a#previous").click(getProgramms); //previous page 
    //for the current page reload the content 
$("a#page").each(function() { 
    $(this).click(getProgramms); 
}); 
//this isn't working... 
$('.smallerpost').live('click', alert('test')); 
}); 

마지막 코드 줄을 살펴보십시오. div 요소를 클릭하면 경고를 수행하고 싶습니다. 대신 페이지를 새로 고칠 때 페이지에 알림이 표시됩니다. div를 클릭해도 아무 효과가 없습니다.

내가 뭘 잘못하고 있니? 깨끗하고 작동하는 jQuery를 얻으려면 여기에 어떤 전략이 필요합니까?

답변

3

변경 당신이 거기있는 동안 ...

$("a#page").each(function() { 
    $(this).click(getProgramms); 
}); 

과 완전히 같은 효과를가집니다 id = 'page'가있는 요소가 하나만 있어야합니다.

0

코드 $('.smallerpost').live('click', alert('test'));은 즉시 alert을 호출하고 그 반환 값을 live 함수의 두 번째 매개 변수로 전달합니다. 당신이 전달하려는 것은이 호출하는 기능입니다, 그래서 당신이 원하는 :

$('.smallerpost').live('click', function() { 
    alert('test'); 
}); 

또는

$('.smallerpost').live('click', handleSmallerPostClick); 

function handleSmallerPostClick() { 
    alert('test'); 
} 

은 ... 당신이 당신의 코드를 구성하는 방법에 따라 달라집니다. 기술적으로

$('a#page').click(getProgramms); 

:하지만 ...

$('.smallerpost').live('click', function() { 
    alert('test'); 
}); 

에 라인과