2011-12-16 67 views
1
paramToExternalFile = 'all'; 

var div = document.createElement('div'); 
div.style.background = '#D8D8D8'; 
div.innerHTML = '<a href=' + xml_list_externalFile_SNS1 + paramToExternalFile + '/' + letters + '>View All</a>'; 
div.id = 'view_all'; 
div.className='optionDiv_sns'; 
ajax_optionDiv_SNS.appendChild(div); 

这是用于在下拉菜单中创建div的JavaScript,但我希望此div可点击。如何在javascript中点击div

正如你可以看到我所提供的链接,但它只会工作,当我用鼠标一点,点击链接,但是当我按下“Enter”

回答

4

您可以直接这样

div.addEventListener("click", function() { 
    alert("You clicked this div"); 
}); 

如果你想支持旧的浏览器添加一个click事件的DIV,你必须做多做一些工作:

if (div.addEventListener) 
    div.addEventListener("click", function() { 
     alert("You clicked this div"); 
    }); 
else if (div.attachEvent) 
    div.attachEvent("onclick", function() { 
     alert("You clicked this div"); 
    }); 
1
<script type="text/javascript"> 
function myFn() { 
    alert("My div is clicked!!"); 
    // something else... 
} 
</script> 
<div onclick="myFn();">My DIV body</div> 

它不会工作,这就是你想?或者你可以试试这个:

<div id="myDiv"> My Div body </div> 
<script type="text/javascript"> 
// Works on not-ie 
document.getElementById("myDiv").addEventListener("click",function() { 
    alert("I'm clicked!!"); 
}, false); 
// Works on all 
document.getElementById("myDiv").onclick = function() { 
    alert("I'm clicked!!"); 
} 
// Works on ie 
document.getElementbyId("myDiv").attachEvent("onclick",function() { 
    alert("I'm clicked!!"); 
}); 
</script> 
0
$('#view_all').click(function() { 
    alert('Handler for .click() called.'); 
}); 
+1

请注意,这是jQuery不是实际的javascript像问。是的jQuery可能是有用的OP,但为了这个问题和答案,以帮助更广泛的公众,而不仅仅是我们的OP在这里,我认为需要添加一个笔记 – Sander 2011-12-16 05:20:34

+0

在标题中说AJAX的权利,所以这适用。请阅读整篇文章。请阅读:http://docs.jquery.com/Ajax_Events,以便更好地理解AJAX事件处理以及jQuery如何适应这些场景。火焰在别处。 – 2011-12-16 05:26:03

+0

对于我们所知道的,OP是一个开始的javascript enthousiast,没有任何jQuery的知识,我说的是:添加frickin注释,说你的代码使用外部库。 Jeez长脚趾 – Sander 2011-12-16 05:32:40

0
div.onclick=function(){ 
    // whatever you want to happen here 
} 
0

使用onclick事件附上您的JAV ascript功能,它像:

<div onclick="alert('clicked');"> 
This is a div 
</div> 

吁请按下回车键,你可以试试这个未经测试的代码点击功能,它应该工作:

<div onkeydown="if (event.keyCode == 13) DoSomething();"/> 

在另一方面,你可以使用jQuery对于这可以使它更容易,看到这个未经测试的代码:

$("#idivId").keyup(function(event){ 
    if(event.keyCode == 13){ 
    $("#DivId").click(); 
    } 
});