1
當我試圖開發我的第一個jQuery的對象之一:jQuery的不是一個函數錯誤編寫自定義對象
jQuery(function ($) {
var WNM = function (element) {
var elem = $(element);
var obj = this;
var MultipleValues = function (element) {
var elem = $(element);
var obj = this;
var opt; // Options;
var sep; // Seperator string;
var vals; // Array wich holds the values;
//$(obj).find(".multipleValuesSett_MaxItems").val();
this.MultipleValues = function (options) {
opt = options;
sep = $(obj).find(".multipleValuesSett_Seperator").val();
loadValues();
outputValues();
};
var loadValues = function() {
var values = $(obj).find(".multipleValues_Values").val();
vals = values.split(sep);
};
var outputValues = function() {
var temp;
if ($.isFunction(opt.output)) {
temp = opt.output.apply(this, vals);
$(obj).find(".multipleValues_ValuesOutput")
.append(temp);
}
};
};
this.MultipleValues = function (options) {
if (elem.length) {
var mv = new MultipleValues(elem);
mv.MultipleValues(options);
return mv;
}
else
return null;
};
};
$.fn.MultipleValues = function() {
return wnm = new WNM(this);
};
});
現在,每當我嘗試運行此:
$(document).ready(function() {
$(".multipleValues").WNMedia().MultipleValues({
output: function (data) {
var temp = "";
temp += "<ul>";
$.each(data, function (i) {
temp += "<li>" + data[i] + "</li>";
});
temp += "<ul>";
return temp;
}
});
});
我得到的以下錯誤:(TypeError:$(「。multipleValues」)。WNMedia()不是函數)。有人可以幫我在這裏請,我有點卡住..
thnx提前。
=========================================
現在我有另一個問題..你可以看到,在定義的輸出功能,我稱之爲選項輸出功能。傳遞一個參數vals,這是一個字符串數組。每當我通過數據var循環,它只包含一個項目,而事實上有三個..任何想法?
解決問題,改變了:
temp = opt.output.apply(null, vals);
到:
temp = opt.output.apply(null, [vals]);
日Thnx!
日Thnx的快速反應定義WNMedia(),您的樣本works!這解決了我的問題! Thnx男人! –
現在我有另一個問題..你可以看到,在定義的輸出功能,我稱之爲選項輸出功能。傳遞一個參數vals,這是一個字符串數組。每當我通過數據var循環,它只包含一個項目,而事實上有三個..任何想法? –
可能會啓動另一個問題?另外,在回調函數中使用console.log(data),調試 –