JavaScript';单击';不起作用

JavaScript';单击';不起作用,javascript,html,css,Javascript,Html,Css,我在与div id关联的脚本中有一个click事件-当我在div区域中移动鼠标并单击(鼠标不改变光标)时,它不会触发事件侦听器 如何使div区域可单击 <script> var myEl = document.getElementById('dealdata'); myEl.addEventListener('click', function() { alert('Hello world'); }, false); </script> <

我在与div id关联的脚本中有一个click事件-当我在div区域中移动鼠标并单击(鼠标不改变光标)时,它不会触发事件侦听器 如何使div区域可单击

<script>
  var myEl = document.getElementById('dealdata');

  myEl.addEventListener('click', function() {
    alert('Hello world');
  }, false);
</script>



<td  BGCOLOR="#91be40" align="center" valign="center">
<div id="dealdata">
<br /><?echo $dpromo;?> 
<h1><?echo $dealvalue; ?></h1>
</div> 
</td>

var myEl=document.getElementById('dealdata');
myEl.addEventListener('click',function(){
警报(“你好世界”);
},假);


我猜在脚本运行时,
dealdata
尚未创建,因为它位于
元素下面

使用
onload
处理程序:

 window.onload = function() {
     var myEl = document.getElementById('dealdata');

     myEl.addEventListener('click', function() {
        alert('Hello world');
     }, false);
 };
只要你的鼠标指针不改变,除非你特别告诉它,否则它不会改变。您可以使用CSS执行此操作:

<style>
    #dealdata { cursor: pointer; }
</style>

#dealdata{cursor:pointer;}

您的divs id是
ddata
,但您正在检查javascript中的
dealdata

更改

var myEl = document.getElementById('dealdata'); //your div's id is 'ddata'


JSFIDLE page:

yikes-不应该离开我的代码,我的代码确实有dealdata-不确定如何将其复制到错误的堆栈中…好的。然后,您可以按照JLRishe的建议将脚本包装到window.onload=functiont(){…};,或者干脆把标签放在标签后面的某个地方。当前代码中的问题是,当调用var myEl=document.getElementById('dealdata');标记尚未创建。另请参见my edit.yikes中的JSFIDLE页面-不应该离开我的代码确实有dealdata-不确定如何将其复制到堆栈中错误如果删除关于#ddata的项-那么这就是正确的答案谢谢!问题是在脚本之后,因此需要放在onload中,谢谢!yikes-不应该走开我的代码确实有dealdata-不确定它是如何被复制到堆栈的错误yikes-不应该走开我的代码确实有dealdata-不确定它是如何被复制到堆栈的错误-问题已更新
var myEl = document.getElementById('ddata');