我有兩個單獨的js文件。其中一個名爲services
的地方,我定義了輸入字段並運行一些jQuery。另一個文件調用services
並使用返回的值。在jQuery事件中輸入的值返回undefine
如果我使用函數內的值(在services
中),它會返回正確的值。否則,我謝勝利文件,它不會返回不確定,因爲它似乎是,如果我叫功能,它不會等到.change
事件被觸發
Services.js
var service = {
main: function() {
console.log(service.input);
},
init: function(input) {
service.input = input;
},
getInputValue: function() {
$('#' + service.input).change(function() {
return $('#' + service.input).val();
});
}
};
OtherJsFile.js
$(function(){
var inputField;
service.init('inputId');
inputField = service.getInputValue();
//Should print the value of inputId
//Instead it prints undefined
console.log(inputField);
});
我感謝任何幫助!
你是不是從'getInputValue()'返回的任何事情,你只能從改變處理程序返回的東西(它不會做任何事情除非返回false)。默認情況下,如果沒有返回值,JavaScript返回undefined - 這就是爲什麼'inputField = undefined'。你應該改變你的函數''返回$(「#」+ service.input).val();' – mhodges
感謝您的回答。這不會幫助我,我需要這個jQuery事件 – thissven
我認爲你真的誤解你正在嘗試做什麼= | – mhodges