2012-07-20 59 views
-1

我想使用href從文件中調用函數。下面是我的javascript代碼:使用href,我們可以使用javascript或jquery從文件調用函數..?

function createtable() { 
    function displaytable(argument) { 
    var tr=document.createElement('tr'); 
    for (var i=0; i < argument.length; i++) { 
     var td=document.createElement('td'); 
     if (i == 0) { 
     td.appendChild(document.createTextNode(argument[i])); 
     } 
     if (i == 1) { 
     td.appendChild(document.createTextNode(argument[i])); 
     } 
     if (i == 3) { 
     td.appendChild(document.createTextNode(argument[i])); 
     } 
     if (i == 2) { 
     td.ondblclick= function() { 
     var column_index= (this.cellIndex) -1; 
     var row_index= (this.parentNode.rowIndex); 
     search_cell(row_index,column_index); 
     } 
     td.appendChild(document.createTextNode(argument[i])); 
    } 
    tr.appendChild(td); 
    } 
    document.getElementById('table_body').appendChild(tr); 
    } 
    document.write("<table border=\"1\"><tr><th>INDEX</th><th>--CELL NAME--</th><th>--PIN NAME--</th><th>--PG PIN--</th></tr><tbody id='table_body'></tbody></table>"); 

for (var x=0; x < array_cells.length; x++) { 
    displaytable([x+1,array_cells[x].cell,array_cells[x].pins,array_cells[x].pg_pins]) 
} 
function search_cell(row_index,column_index) { 

//要使用調用這個函數的href }}

我想添加一個功能,我在我的代碼,當我點擊了一個單元格在我的HTML表格它使用href從文件調用函數。

+0

你有沒有嘗試過一些不起作用的東西?沒有理由不能在頁面上的任何元素的單擊事件中調用JavaScript函數。 – David 2012-07-20 12:18:00

回答

0

你的問題不清楚。但是,這就是我知道你想:

<table> 
    <tr> 
     <td>Column 1</td> 
     <td>Column 2</td> 
     <td>Column 3</td> 
     <td><a href="#" id="link1">Function 1</a></td> 
    </tr> 
</table> 

對於JS部分:

<script type="text/javascript"> 

    function doSomething(data) { 
     alert(data + ' clicked'); 
    } 

    document.getElementById('link1').onclick = function() { 
     doSomething(this.innerHTML); 

     return false; 
    } 

</script> 
+0

如果這是你正在尋找的答案,然後標記這個答案是正確的 – 2012-07-20 12:39:48

+0

先生我想這樣做使用JavaScript ....告訴我我怎麼能做到這一點的JavaScript ...所以,我只寫在javascript文件中的代碼並在HTML文件中源代碼 – sam1989 2012-07-20 12:43:23

+0

正如@David所提到的,如果你提到的JS引用比它不應該是一個問題** ** – 2012-07-20 12:51:58

0

在回答您的意見,主要是...

我從來沒有見過使用link.setAttribute()來完成此操作。所以我甚至不知道這是否可行。但是你絕對不想用href來執行JavaScript函數。你也不想引用JavaScript文件。在加載到DOM中的JavaScript代碼和其他東西的範圍中,該文件是無關緊要的。一旦加載了JavaScript代碼,它就可以在整個DOM中使用。

所以你要做的第一件事就是加載JavaScript(可能是HTML的標題,但在任何地方它的使用確實前):

<script type="text/javascript" src="path/to/file.js"></script> 

(請注意,這不是自它需要根據HTML規範使用完整的關閉語法。)

加載JavaScript代碼後,您可以從任何點擊事件中調用其中的任何函數。所以,如果在你的代碼,link是參考目標DOM元素的值,那麼你想要的linkonclick調用的函數:

link.onclick = someFunction(); 

還有更多的例子here

+0

先生你可以給我提供完整的代碼如何使我的表格內容可能調用一個函數,因爲我完全困惑 – sam1989 2012-07-20 12:48:37

+0

@ sam1989:我不知道你的表的內容是什麼,所以我不能。但是,您可以編輯您的問題以包含更多代碼和更多您想要做的事例。一般來說,你要做的是將JavaScript函數調用綁定到一個或多個HTML元素的'onclick'事件。有多種方法可以做到這一點。你以什麼方式困惑?你不瞭解它嗎? – David 2012-07-20 12:51:26

+0

@ sam1989:該代碼中吸引我注意的部分是:'link.onclick = sample();'是否成功調用該元素的'onclick'事件的'sample()'函數?如果沒有,是否有錯誤?另外,什麼是'document.createElement('link')'?我不熟悉HTML中的link元素。這是一個新的HTML5元素嗎?一個自定義元素?還是你的意思是使用'a'元素來代替? – David 2012-07-20 13:03:40

相關問題