将事件对象和其他参数传递给JavaScript函数

时间:2017-06-24 12:50:21

标签: javascript jquery html

我知道有类似的问题,但我找不到任何答案。 有一个JavaScript函数:

function init(url) {
    $('#id_search').keyup(function() {
        performsearch(url, e);
    });
}

我正在尝试将事件对象和url参数传递给performsearch函数:

function performsearch(url, e){
        e.preventDefault();
        console.log('perf->' + url);
    }

但是e.preventDefault()会出错:

  

未定义

此函数调用有什么问题?

2 个答案:

答案 0 :(得分:4)

您需要从event的回调函数中获取keyup

function init(url) {
    // Get the event parameter of the callback function
    $('#id_search').keyup(function (e) {
        performsearch(url, e);
    });
}

答案 1 :(得分:0)

您可以通过关闭操作来实现。可以使用其他解决方案解决您的问题,但是稍后可能会遇到需要使用此技术的问题。

     $('#id_search').keyup(function(url) {
         return function (evt) {
             evt.preventDefault();
             console.log('perf->' + url); 
        };

     })();