javascript
  • jquery
  • 2011-12-12 99 views 1 likes 
    1

    我已經堆滿了我的javascript代碼覆蓋。在我的應用程序中,我也使用jQuery來更快地編寫一些部分。命令由最後一個

    的事情是,將功能添加到輸入後只有一個加入到最後的工作文件。我發現也許原因是這個相同的參數名稱的功能。因此,爲了確保我添加了一個我想使用的功能和另一個(我的意思是第一個)使用簡單文本的警報。

    這是我的代碼:

    newRow.innerHTML = "<a href='#' class='editName'>"+ddList.ddElements[ddList.ddEl.id]+'</a>'; 
        newRow.innerHTML += ' X:<input type="text" id="x'+ddList.ddEl.id+'" name="x'+ddList.ddEl.id+'" size=3 value=0>'; 
        var xField = document.getElementById('x'+ddList.ddEl.id); 
        xField.relatedElement = newRow; 
        newRow.innerHTML += ' Y:<input type="text" id="y'+ddList.ddEl.id+'" name="y'+ddList.ddEl.id+'" size=3 value=0>'; 
        var yField = document.getElementById('y'+ddList.ddEl.id); 
        yField.relatedElement = newRow; 
        $(xField).blur(function(){alert('Handler for X.blur() called.')}); 
        $(yField).blur(function(){ddList.setObjectPosition(yField,obj,'y');}); 
        if(RegExprText.test(ddList.ddEl.id)) 
        { 
         newRow.innerHTML += '<br>Kolor:'; 
         var element = document.createElement('input'); 
         element.setAttribute('id', 'c'+ddList.ddEl.id); 
         element.setAttribute('name', 'c'+ddList.ddEl.id); 
         element.setAttribute('type', 'text'); 
         element.setAttribute('class', 'color'); 
         element.setAttribute('size', '6'); 
         newRow.appendChild(element); 
         var myPicker = new jscolor.color(element, {}); 
         $(element).blur(function(){ddList.setColor(element,obj);}); 
        } 
        var links = newRow.getElementsByTagName('a'); 
        var editLink = links[links.length-1]; 
        editLink.relatedElement = newRow; 
        $(editLink).click(function(){ddList.deleteObject(obj,newRow);}); 
    

    所以,當我有唯一的X和Y輸入字段則只有Y是積極的。當我有X,Y和colorPicker時,只有colorPicker可以工作。

    有趣的是,一直是工作的代碼最後一行 - EDITLINK。

    而且我一直在試圖對 newRow.addChild(xField);

    它也不管用改變

    xField.relatedElement = newRow;

    感謝提前答案。

    回答

    1

    首先,你做

    xField.relatedElement = newRow; 
    

    然後你改變

    newRow.innerHTML 
    

    這當然會在relatedElement反映。

    如果你想三個不同的DOM元素,你必須做出三個不同的DOM元素,而不僅僅是一個分配給三個地方,你更改三次其內容。

    +0

    非常感謝你,但我有一個問題。如何我現在可以定義xField,因爲我不能用'無功xField =的document.getElementById(「X」 + ddList.ddEl.id);'只是我haven't得到這個元素? – sebap123

    相關問題