2016-12-13 151 views
0

有人可以解釋下面的函數是如何工作的以及我如何能夠創建一個新的按鈕對象?我需要調用MYAPP.dom.Button函數嗎?我假設'返回b'返回一個按鈕對象?調用函數和命名空間 - JavaScript

var MYAPP = {}; 
MYAPP.dom = {}; 
MYAPP.dom.Button = function(text, conf) { 
    var styles = { 
     font: 'Verdana', 
     border: '1px solid black', 
     color: 'black', 
     background: 'grey'   
    }; 
    function setStyles() { 
     for (var i in styles) { 
      b.style[i] = conf[i] || styles[i];        
     } 
    } 
    conf = conf || {}; 
    var b = document.createElement('input'); 
    b.type = conf['type'] || 'submit'; 
    b.value = text; 
    setStyles(); 
    return b; 
}; 

回答

3

你是正確的,bbutton元素。你需要調用MYAPP對象的方法如下:

MYAPP.dom.Button(x, y); 

對於x您將需要一些文字作爲按鈕的value傳遞和y需要定義按鈕的type。該按鈕的type默認爲submit

以下MYAPP.dom.Button('hey');將返回

<input type="submit" value="hey" style="border: 1px solid black; color: black; background: grey;"> 

另外,作爲@dreamweiver說下面

y參數也有資格按住按鈕的樣式,如果 沒有通過,將採取 裏面提到的默認樣式屬性按鈕功能

+0

@stckpete:只是加起來一個東西,'y'參數也有資格保存按鈕的樣式,如果沒有通過,它會採用'Button'函數中提到的默認樣式屬性 – dreamweiver

0

可以使一個新的按鈕:

var btnText = 'Go'; 
var conf['type'] = 'button'; 
var goBtn = MYAPP.dom.Button(btnText, conf); 

這將創建一個按鈕,值Go和式按鈕;

第二個參數是可選的,所以也可以稱其爲:

var goBtn = MYAPP.dom.Button('Submit'); 

它會創建一個文本的按鈕提交,然後鍵入提交。

+0

第二個參數'按鈕'功能需要一個數組而不是字符串文字 – dreamweiver

+0

是的,你說得對。 –

+0

謝謝大家,多數民衆贊成。我現在看到這是如何工作的 – stckpete