2017-08-09 127 views
-5

我试图找出如果我可以触发一些javascript时,页面加载代码,而不是只在keyup触发jQuery的。对()在页面加载

$(document).on('keyup', '.some-class', function (e) 
{ 
    // Some code 
}); 

我曾尝试以下,并且没”将不起作用(我的研究表明,它应该也不工作):

$(document).on('keyup load', '.some-class', function (e) 
{ 
    // Some code 
}); 

$(window).on('keyup load', '.some-class', function (e) 
{ 
    // Some code 
}); 

UPDATE:

我的问题似乎是关于什么我要完成还不清楚。在输入字段中使用keyup时,代码工作正常。 但我也希望代码在页面加载时运行。

我可以做到这一点,但我正在寻找更优雅的解决方案。

hello(); 

function hello() { 
    // Some code 
} 

$(window).on('keyup load', '.some-class', function (e) 
{ 
    hello(); 
}); 
+0

我不明白,jquery反正在页面加载运行。 '$(document).ready(function(){// jQuery stuff here});'你把你的事件放在里面。 – SGhaleb

+0

什么不适合你?你得到什么错误? –

回答

0

虽然你可以在页面加载时触发按键功能,但我不会推荐它。你最好定义你想在其他地方运行的函数,然后在load和keyup上调用它。

这种方式,如果你想添加任何东西到keyup事件,不需要加载运行,你可以。

喜欢的东西,但不一定是这样,将工作:

var myFunction = function() { 
    // Do some function stuff 
    return; 
} 

$(document).ready(myFunction); 
$('.myElement').on('keyup', myFunction); 

或者,如果你需要的参数传递给函数(这是一个有点接近你的用例):

var myFunction = function(args) { 
    // Do some function stuff 
    return; 
} 

$(document).ready(function() { 
    myFunction(args) 
}); 
$('.myElement').on('keyup', function(e) { 
    e.preventDefault(); 
    myFunction(args); 
    // You can add more code here that won't be triggered on load 
}); 
-1

也许你正在寻找$(文件)。就绪()。当文档准备只需运行该代码

$(document).ready(function() { /* YOUR CODE HERE (maybe the $(document).on('key up'... */}) 
-1

这听起来像你对我是想类似以下内容:

jQuery(document).ready(function(){ 
    //Code Here 
)}; 

或窗口负荷(这是在1.8感谢弃用到@ charlietfl):

jQuery(window).load(function(){ 
    //Code Here 
)}; 
+1

'.load(function)'已弃用 – charlietfl

+0

无法看到它在文档中被弃用的任何内容:http://api.jquery.com/load/ –

+0

因为这是ajax快捷签名...请参阅http:// api.jquery.com/load-event/ – charlietfl