2017-08-09 207 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

相關問題