При входе в обработчик щелчка в JS, (вар clickHandler = button.onclick;) дает следующее, как и ожидалось:Как переназначить событие Javascript с помощью jQuery?
clickHandler:function() {
alert("onclick - original onclick handler");
}
Однако при входе в обработчик щелчка JQuery (Var clickHandler = JQuery (» #button '). щелкните;), я получаю:
clickHandler:function (a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)}
Почему разница? Как получить дескриптор функции, чтобы я мог переназначить ее на другое событие, например. OnMouseDown?
(Мне нужно переназначить существующее событие js, в котором я не контролирую, поэтому он не был добавлен с помощью jQuery).
<input type="text" name="name_input" id="name_input" />
<a href="#" id="button">Click</a>
<script>
var input = document.getElementById("name_input");
var button = document.getElementById("button");
input.onchange = function(event) {
alert("Change");
};
//reassign onclick to onmousedown
button.onclick = function() {
alert("onclick - original onclick handler");
};
//reassign onmousedown handler
var clickHandler = button.onclick;
// var clickHandler = jQuery('#button').click;
console.log('clickHandler:' + clickHandler);
button.onmousedown = clickHandler;
</script>