특정 페이지에서만 자바 스크립트 코드를 실행하는 가장 좋은 방법이 무엇인지 궁금합니다.특정 페이지에서만 js를 실행하는 가장 좋은 방법
컨텐츠 IST 세트에 대한 규칙을 사용할 수 jQuery를 재 작성의 우리가 템플릿 기반의 웹 사이트를 상상하자 그것은 기본적으로 다음과 같습니다 : 콘텐츠를 '정보'는 버튼을 포함
<!DOCTYPE html>
<html>
<head>
<script src="script.js"></script>
</head>
<body>
...
include $content;
..
</body>
</html>
, 우리가 원하는
클릭시 발생하는 문제, 텍스트 필드를 가리키면 '경고'콘텐츠가 메시지로 제공되어야합니다.개체를 찾을 수 없으므로 오류가 발생하지 않고 이러한 작업을 트리거하는 가장 좋은 방법은 무엇입니까?
옵션 하나를 사용하여 window.location.pathname
$(document).ready(function() {
if (window.location.pathname == '/info.php') {
$("#button1").click(function(){'
//do something
})
}else if(window.location.pathname == '/alert.php'){
$("#mytextfield").hover(){
alert('message');
}
}
이 옵션 두 : 요소
$(document).ready(function() {
if ($("#button1").length > 0) {
$("#button1").click(function(){'
//do something
})
}else if ($("#mytextfield").length > 0){
$("#mytextfield").hover(){
alert('message');
}
}
옵션 세 존재하는 경우 확인하는 것은 다음에 스크립트를 포함 불러 온 템플릿
//stands for itself
더 나은 솔루션입니까? 아니면 이러한 솔루션 중 하나와 함께해야합니까?
이 주제에 관한 귀하의 경험, 사용 또는 링크는 높이 평가됩니다.
// 편집 : 나는 나쁜 예를 선택이 끝난 수도
은, 실제 코드가 될 것이다 뭔가 같은 :
myPicture 생성자 GET 캔버스 요소의 컨텍스트를의mCanvas = $("#jsonCanvas");
mMyPicture = new myPicture (mCanvas);
하고, mCanvas가 미정 도리의 경우는 에러를 슬로우합니다.
자바 스크립트를 필요로하는 페이지에만 자바 스크립트를 포함하고 페이지에서'$ (document) .ready'를 두 번 이상 호출 할 수 있으므로 여기에서 안전해야합니다. –
jQuery를 사용하는 경우 이벤트 처리기를 할당하기 전에 요소가 존재하는지 확인할 필요가 없습니다.'$ ("somselector"). click (...)'는 click 처리기를 _zero 또는 more_ 요소에 적용합니다. 일치하는 "someselector"- 일치하는 항목이 없으면 오류를주지 않습니다. – nnnnnn
@IanBishop : 옵션 3입니다 :) - 템플릿을 사용하여 js로드 @ nnnnnn : 편집을 참조하십시오. 그러나 '만'클릭 동작과 관련하여 맞습니다. –