我有一个div
我在运行时动态设置值,如果有值而不是我启用或创建一个链接,它将onclick
方法我将调用{{1}方法。
如何在javascript
或jquery
?
我将值设置为javascript
,如下所示,
div
这个div:
document.getElementById('attachmentName').innerHTML=projectInforamtionMap.Cim_AttachmentNames;
请帮助我找到并修复。
最好的问候
答案 0 :(得分:4)
您可以设置onclick功能:
document.getElementById('attachmentName').onclick = function() {};
答案 1 :(得分:1)
$('#attachmentName').click(function(){
//do your stuff
})
答案 2 :(得分:1)
jquery方式:
$("#attachmentName").click(function() {
some_js_method();
});
答案 3 :(得分:1)
假设您的功能先前已定义为
function foo(){alert('function call');}
添加innerHTML后
在Javascript中
document.getElementById('attachmentName').setAttribute('onclick','foo()');
在Jquery
$("#attachmentName").attr('onclick','foo()');
答案 4 :(得分:1)
您可以通过以下方式在div中插入链接来执行此操作
document.getElementById("attachmentName").onClick = function () {
alert(1); // To test the click
};
你也可以通过以下方式在jQuery的帮助下实现它。
$("#attachmentName").click(function ()
{
alert(1);
});
为此你必须在页面上包含jQuery liabray。参考jQuery.com
如果您真的希望在Div中包含该链接,那么以下是它的代码
var link = $("<a>"+ $("#attachmentName").text() +"</a>");
$("#attachmentName").html($(link);
link.click(function () {
alert(1);
});
希望这会有所帮助。
答案 5 :(得分: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元素。在这种情况下,它并不重要,但在其他情况下,您可能愿意将相同的事件附加到元素集合,而不仅仅是一个。
因此,使用这种方法,事件附加到正文但适用于单击的元素,而不是将相同的事件附加到每个元素,因此它更有效:)
答案 6 :(得分:0)
当我将经典的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');
}
});
}