簡體   English   中英

單擊時調用兩個函數

[英]Calling two functions on click

單擊按鈕/鏈接時,我必須使用 2 個 js 函數。 一種功能以這種方式工作正常

<a href="javascript:void(0);" class="closePopUp" onclick="resetEnquiryForm('enquiry-form');">close</a>

並且彈出窗口被正確關閉。 現在我想在彈出窗口以這種方式關閉之前再調用一個函數

<a href="javascript:void(0);" class="closePopUp" onclick="return makeSelect('<?php echo $this->getProduct()->getId() ?>', '<?php echo $this->getBaseUrl() ?>retailon/productoption/values'); resetEnquiryForm('enquiry-form');">close</a>

但是只有第一個函數被調用並且彈出窗口沒有被關閉。 我怎樣才能讓這兩個功能在這里工作?

 function function1() { var prodId = '<?php echo $this->getProduct()->getId() ?>'; var baseURL = '<?php echo $this->getBaseUrl() ?>retailon/productoption/values'; makeSelect(prodId, baseURL); resetEnquiryForm('enquiry-form'); }
 <a href="javascript:void(0);" class="closePopUp" onclick="function1();">close</a>

在您的代碼中,問題是,您從第一個語句返回,因此不執行第二個語句。

最簡單的解決方案是使用另一個可以調用這兩個函數的函數,例如

<a href="javascript:void(0);" class="closePopUp" onclick="return doclick('<?php echo $this->getProduct()->getId() ?>', '<?php echo $this->getBaseUrl() ?>retailon/productoption/values', 'enquiry-form');">close</a>

然后

function doclick(p1, p2, p3) {
    var res = makeSelect(p1, p2);
    resetEnquiryForm(p3);
    return res;
}

只是將函數分配給不同的名稱,比如func1func2並像這樣一起調用它們:

<a href="javascript:void(0);" class="closePopUp" onclick="func1(); func2();">close</a>

1)如果你想調用兩個沒有任何返回值的函數,那么使用下面的代碼

 <a href="javascript:void(0);" class="closePopUp" onclick="fun1(); fun2();">close</a>

2)如果你想用任何返回值調用兩個函數然后使用下面的代碼

<a href="javascript:void(0);" class="closePopUp" onclick="return fun1(); fun2();">close</a>

function fun1() {
    fun2();
    return true;
}

暫無
暫無

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

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