簡體   English   中英

jQuery - 如何在函數中保存 jQuery 代碼塊

[英]jQuery - How to save jQuery block of code in a function

我有一個 jQuery 代碼,請參見下文。

$(document).ready(function () {    
    $('select').on('change', function () {
      var test = this.value;
      console.log(test);
    })

});

這是完美的工作。

現在我想做的是,我想將此代碼保存為一個函數,以便我可以在其他地方使用它。 你能幫我嗎?

更新

在此處輸入圖片說明

正如您在照片上看到的,有一個下拉列表。

src="https://maps.googleapis.com/maps/api/js?
key=MYAPIKEY&
callback=initAutocomplete

&language=fr" 

我要更新的是,每當我從下拉列表中選擇語言時,src 屬性都應該更新。 在 src 屬性中,您可以看到值,在該值中,最后一個參數是語言。

我想根據下拉列表更新語言參數。

創建一個這樣的函數:

function onChange() {
  var test = this.value;
  console.log(test);
});

然后,使用該函數作為更改事件處理程序:

$(document).ready(function () {    
    $('select').on('change', onChange);
});

現在您可以為任何事件處理程序重用此function

有多種答案可以存儲您所做的事情。

您可以將您的操作存儲到一個函數中,或者您可以創建並將結果操作函數附加到一個函數中。

 $(".my-select").on("change",function(){ actionAfterChange($(this).val()) }); //Just action function actionAfterChange(value){ console.log("function actionAfterChange > ",value) } //Create event listener and attach a function function attachEventAndAction(element,event,action){ $(element).on(event,function(){ action($(this).val()) }); } attachEventAndAction(".my-select2","change",actionAfterChange)
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="my-select"> <option value="1">1</option> <option value="2">2</option> </select> <select class="my-select2"> <option value="1">1</option> <option value="2">2</option> </select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM