2014-11-19 2 views
1
<a href="#" onclick="foo()">click me </a> 

안녕하세요, 클릭 할 때 onclick 스크립트를 호출하기 전에 함수를 호출해야합니다.onclick 스크립트 전에 함수 호출

내가 시도 :

var script = $("a").attr("onclick"); 
    $("a").attr("onclick", ""); 

    $("a").click(function(event) { 
     // call bar() first, then foo(); 
     bar(); 
     // script is a string on Chrome 
     // foo() may use this, so can not globalEval. 
    }); 

방법 스크립트를 호출? jQuery 함수로 onclick을 가져올 수 있습니까? 그래서 :

onclickFunction.call(this); 

감사합니다.

답변

0

이 같은 다른 기능으로 묶을 수 없습니까? :

<a href="#" onclick="handler();">click me </a> 

var handler = function() { 
    foo(); // 1. calling foo first 
    bar(); // 2. calling bar second 
}; 
3

이 방법이 시도 수행해야하는 경우 :

JS를 :

(function() { 
    var a = document.getElementsByTagName('a')[0]; 
    var foo = a.onclick; 

    function bar() { console.log('bar'); } 

    a.onclick = function() { 
     bar(); 
     foo(); 
    }; 
})(); 

jsfiddle

+0

감사합니다. jQuery를 사용하여이 작업을 수행하는 방법은 무엇입니까? $ ("a"). onclick이 정의되지 않았습니다. $ ("a"). attr ("onclick")은 함수가 아닌 문자열을 반환합니다. – eastwater

+0

나는 이것을 시도했다. foo()가 this.xxxx에 액세스하지 않으면 작동합니다. – eastwater

+0

click me. ID가 정의되지 않았습니다. – eastwater

관련 문제