2013-06-18 3 views
0

javascript 파일에서 메소드를 호출하려고 할 때 이상한 문제가 있습니다. 나는 그것이 호출되는 onclick="setTheCookie('cookie_bar_hide', 'yes', 365)"를 사용할 때javascript 함수가 다른 이름으로 만 호출됩니다.

function setCookie(c_name, value, exdays) 
{ 
    //set the expiry date as now + the specified number of days 
    var exdate=new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 

    //add the expiry date string to the cookie value 
    var c_value = escape(value) + ((exdays==null) ? "" : "; 
    expires="+exdate.toUTCString()+"; path=/"); 

    //set the cookie 
    document.cookie = c_name + "=" + c_value; 
} 

function setTheCookie(c_name, value, exdays) 
{ 
    //set the expiry date as now + the specified number of days 
    var exdate=new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 

    //add the expiry date string to the cookie value 
    var c_value = escape(value) + ((exdays==null) ? "" : "; 
    expires="+exdate.toUTCString()+"; path=/"); 

    //set the cookie 
    document.cookie = c_name + "=" + c_value; 
} 

버튼 클릭에,하지만 난 onclick="setCookie('cookie_bar_hide', 'yes', 365)"를 사용할 때 호출되지 않습니다이 된 .js 파일은 다음 두 가지 방법이있다.

왜 이런 일이 일어날 수 있으리라 생각하십니까?

+0

콘솔에서 console.log (setCookie.toString());가 무엇을 반환합니까? – epascarello

+0

이 'onclick'이있는 전체 요소의 정확한 코드는 무엇입니까? – Teemu

+0

어떤 브라우저를 테스트합니까? –

답변

3

setCookie은 당신의 base.jscookie.js에 있습니다.

+0

문제를 확인해 주셔서 감사합니다. 같은 이름의 함수가 두 개의 .js 파일에있는 경우, 우선 순위는 우리가 전달하는 매개 변수의 수에 의존하지 않습니까? – rumi

+2

아니요, JavaScript에는 오버로드가 없으며 두 번째로 오는 오버로드는 이전 오버라이드보다 우선합니다. – epascarello

-4

필자는 onClick 이벤트에서 함수를 호출하는 방법과 관련이 있다고 생각합니다. 다음과 같은 여러 가지 방법을 호출하십시오.

onClick="doSomething();doSomethingElse();" 

여러 개의 OnClick이없는 경우.

문제가 해결되는지 알려주세요. 자바 스크립트 파일을 모두 통해 찾고 콘솔

> setCookie 
function setCookie(name, value) 
{ 
    document.cookie = escape($.trim(name)) + '=' + escape(value) + ';path=/'; 
} 

에서 뭔가 다른 설정 이기에, setcookie

이 있습니다

관련 문제