1
我想在Joomla網站上使用jQuery,而Joomla在noConflict模式下加載jQuery。我試圖將我的代碼包裝在(function($){ ... })(jQuery);
中。jQuery noConflict模式
這工作:
function calculate()
{
var de = document.calculator.de.value;
var para = document.calculator.para.value;
var quantia = document.calculator.quantia.value;
var pais = jQuery("#para option:selected").text();
var curr = (pais == "Brazil" ? "Reais" : "Euro");
var tax = (pais == "Brazil" ? 0 : 3)
result = Math.round(quantia * para) + ' ' + curr;
jQuery('#result').text(result);
e.preventDefault();
return false;
}
這不起作用(未捕獲的ReferenceError:不定義計算):
(function($){
function calculate()
{
var de = document.calculator.de.value;
var para = document.calculator.para.value;
var quantia = document.calculator.quantia.value;
var pais = $("#para option:selected").text();
var curr = (pais == "Brazil" ? "Reais" : "Euro");
var tax = (pais == "Brazil" ? 0 : 3)
result = Math.round(quantia * para) + ' ' + curr;
$('#result').text(result);
e.preventDefault();
return false;
}
})(jQuery);
我可能缺少一個小細節,但我在哪裏我錯了?
大,工程。但是,如果我有幾個功能,我是否必須以相似的方式來包裝每一個功能,或者我可以以某種方式一次性包裝所有功能? (函數'calculate'從這裏被調用:'' – johanpw
@johanpw由於您已經在使用jQuery:只需綁定一個適當的事件監聽器。閱讀'jQuery.on' – TimWolla