我有一個div
其中我運行時動態設置值,如果有價值比我有啓用或創建一個鏈接,將有onclick
方法,我將調用javascript
方法。如何創建一個鏈接的onclick
如何在jquery
或javascript
中做到這一點?
我設定值的div
像下面,
這個DIV:
<tr>
<td align="left"><div id="attachmentName"> </div></td>
</tr>
請幫我找到並修復。
問候
我有一個div
其中我運行時動態設置值,如果有價值比我有啓用或創建一個鏈接,將有onclick
方法,我將調用javascript
方法。如何創建一個鏈接的onclick
如何在jquery
或javascript
中做到這一點?
我設定值的div
像下面,
這個DIV:
<tr>
<td align="left"><div id="attachmentName"> </div></td>
</tr>
請幫我找到並修復。
問候
您可以設置的onclick功能:
document.getElementById('attachmentName').onclick = function() {};
我只是把警報,但它不適用於所有給出的答案 – 2013-02-21 12:03:23
你可以在JsFiddle上做一個樣本嗎? – 2013-02-21 12:04:13
看這個示例[JsFiddle](http://jsfiddle.net/gRgfa/) – 2013-02-21 12:06:39
$('#attachmentName').click(function(){
//do your stuff
})
jQuery的方式:
$("#attachmentName").click(function() {
some_js_method();
});
假設你的函數是以前這樣定義
function foo(){alert('function call');}
添加的innerHTML
在Javascript中
document.getElementById('attachmentName').setAttribute('onclick','foo()');
jQuery中
$("#attachmentName").attr('onclick','foo()');
後,你可以做到這一點沒有在下列方式
document.getElementById("attachmentName").onClick = function() {
alert(1); // To test the click
};
您可以在插入在div鏈接用它來實現它以下面的方式幫助jQuery。
$("#attachmentName").click(function()
{
alert(1);
});
爲此,您必須在頁面上包含jQuery liabray。參考jQuery.com
不過,如果你forecefully想在事業部則下面的鏈接是它
var link = $("<a>"+ $("#attachmentName").text() +"</a>");
$("#attachmentName").html($(link);
link.click(function() {
alert(1);
});
希望這將有助於代碼。
您有幾種選擇
的JavaScript:
// var elem = document.getElementById('attachmentName');
elem.onclick = function() {};
elem.setAttribute('onclick','foo()');
elem.addEventListener('onclick', foo, false); // The most appropiate way
的jQuery:
// var elem = $('#attachmentName');
elem.click(foo);
elem.on('click', foo);
$('body').on('click', elem, foo);
3個jQuery的選擇之間,最後一個是最好的之一。原因是因爲你附加一個事件只是body元素。在這種情況下,這並不重要,但在其他情況下,您可能願意將同一事件附加到一組元素,而不僅僅是一個。
因此,使用這種方法,該事件被連接到主體,但適用於元素點擊,而不是相同的事件附接至每一個元素,所以它的更有效的:)
如我被轉換古典asp詳細信息頁面轉換爲單頁面ajaxified頁面,我轉換頁面中的現有鏈接以獲取在同一頁面中加載到DIV中的詳細信息。我將href標籤重命名爲dtlLink,並在jquery load()函數中獲取了這些數據。
detail.asp(server.urlencode加入,在這裏需要)
<a href=""#"" onclick=""javascript:LoadDetails(this)"" dtllink="detail.asp?x=" & Server.URLEncode(Request("x"))&y=" & Server.URLEncode(Request("y")) > link text </a>
parent.asp(它有holdon.js微調圖像一些額外的代碼,按鈕開啓/關閉,導致DIV顯示/隱藏) Jquery
function LoadDetails(href) {
//get the hyperlink element's attribute and load it to the results div.
var a_href = $(href).attr('dtllink');
console.log(a_href);
$('#divResults').html('');
DisplayHoldOn();
$('#divResults').load(a_href, function (response, status, xhr) {
$('#divCriteria').hide();
HoldOn.close();
if (status == "error") {
var msg = "There was an error: ";
$("#divResults").html(msg + xhr.status + " " + xhr.statusText);
$('#divCriteria').show();
$("#cmdSubmit").removeAttr('disabled');
}
});
}
在javascript中使用.setAttribute。 – Dineshkani 2013-02-21 11:46:13