我必须在两个不同的事件上调用相同的函数,如下面的给出示例中所述:
// calling a function on keyup
$('#textarea').keyup(function() {
var text_length = $('#textarea').val().length;
var text_remaining = text_max - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
});
// calling same function on click
$('#cancel').click(function() {
var text_length = $('#textarea').val().length;
var text_remaining = text_max - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
});
请注意,上述功能在两种情况下都做同样的事情,我只需要在不同条件下调用该功能。
现在我的问题是,我可以在同一行中设置两个事件,以便我可以避免设置两次功能吗?
答案 0 :(得分:5)
只需单独声明该功能,然后在两个事件中使用它。
var func_event = function() {
var text_length = $('#textarea').val().length;
var text_remaining = text_max - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
};
$('#textarea').keyup(func_event);
$('#cancel').click(func_event);
答案 1 :(得分:0)
你可以使用一个功能:
// calling a function on keyup
$('#textarea').keyup(function() {
exampleFunction();
});
// calling same function on click
$('#cancel').click(function() {
exampleFunction();
});
function exampleFunction(){
var text_length = $('#textarea').val().length;
var text_remaining = text_max - text_length;
$('#textarea_feedback').html(text_remaining + ' characters remaining');
}