2009-05-07 3 views
8

클릭 이벤트를 LI 요소에 추가하려고하지만 페이지에서 실행되지 않습니다. 내가 가진JQuery - 클릭 이벤트를 LI 또는 SPAN 요소에 추가 하시겠습니까?

<div id="Navigation"> 
<ul> 
    <li class="navPrevNext inactive">|&lt; First Page</li> 
    <li class="navPrevNext inactive">&lt; Prev Page</li> 
    <li class="navIndex selected" title="0 ">1</li> 
    <li class="navIndex notselected" title="1 ">2</li> 
    <li class="navIndex notselected" title="2 ">3</li> 
    <li class="navPrevNext active" title="1">Next Page &gt;</li> 
    <li class="navPrevNext active" title="2">Last Page &gt;|</li> 
</ul> 
</div> 

그리고 내 JS 코드 :

$("#Navigation li").live('click', function(e) { e.preventDefault; this.blur(); return updateNavigation($(this).attr('title')); }); 

어떤 생각을 내 페이지의 마크 업처럼 보이는? 당신은 확실히 당신이 JQuery와 1.3 코드에서

TIA

+1

한 가지를 키우면 : e.preventDefault()가 –

답변

14

을 포함했다?

<html> 
<head> 
<script type="text/javascript" src="jquery-1.3.2.min.js"></script> 
<script type="text/javascript"> 
function updateNavigation(title) { 
    alert(title); 
} 

$("#Navigation li").live('click', function(e) { 
    e.preventDefault; 
    this.blur(); 
    return updateNavigation($(this).attr('title')); 
}); 

</script> 
</head> 
<body> 
<div id="Navigation"> 
<ul> 
    <li class="navPrevNext inactive">|&lt; First Page</li> 
    <li class="navPrevNext inactive">&lt; Prev Page</li> 
    <li class="navIndex selected" title="0 ">1</li> 
    <li class="navIndex notselected" title="1 ">2</li> 
    <li class="navIndex notselected" title="2 ">3</li> 
    <li class="navPrevNext active" title="1">Next Page &gt;</li> 
    <li class="navPrevNext active" title="2">Last Page &gt;|</li> 
</ul> 
</div> 
</body> 
</html> 

확실하여 updateNavigation 기능이 잘 작동되고 있습니까 : 나를 위해 다음 작품 잘 (직접 복사 및 질문에서 붙여 넣기) 때 LIS를의 클릭? 어쩌면 그것은 방아쇠를 당겼지 만 그 안에 무엇인가 잘못되었습니다 ...

+0

내 dev에 환경이 나에 대해 공모 한 e.preventDefault해야합니다. 재부팅 후 내 JS 파일이 업데이트되었고 예상대로 작동했습니다. 이전 파일이 임시 캐시에 저장되는 것 같습니다. 확인해 주셔서 감사합니다. –

0

나는 @Parrots와 똑같은 일을했으며 저에게 효과적입니다. 핸들러 만 title 속성이 요소에 적용되도록

$("#Navigation li[title]").live('click', function(e) { 
    e.preventDefault; 
    this.blur(); 
    return updateNavigation($(this).attr('title')); 
}); 

: 당신은, 그러나, 당신의 선택을 변경할 수 있습니다.

+0

감사합니다 - 나는 그것을 밖으로 시도 할 것입니다! (나중에 처리하는 것보다 오류를 피하는 것이 더 좋습니다) –

+0

챔피언처럼 작동합니다! –

0

사용자가 선택한 팝업 목록을 사용하는 것과 비슷한 문제가있었습니다. 기본적으로 사용자가 입력 상자를 클릭하면 ul이 표시됩니다.

이것은 500ms 애니메이션에서 효과적 이었지만 250ms로 전환하면 스크롤 애니메이션이 너무 빠르며 클릭 이벤트가 결코 한 번도 발생하지 않았습니다.

0

사용하지 마세요 범위는 더 나은 대표에게

관련 문제