Javascript 如何使div可以单击? 上海男

Javascript 如何使div可以单击? 上海男,javascript,css,html,click,Javascript,Css,Html,Click,对于上面这样的div,当鼠标打开时,它应该成为cursor:pointer,当单击时,激发一个 javascript函数,如何做这项工作 编辑:当鼠标打开时,如何更改div的背景色 再次编辑:如何使第一个跨距的宽度为120px?在firefox中似乎不起作用添加属性 <div><span>shanghai</span><span>male</span></div> 选择器使用的属性选择器在IE的某些版本中不起作用。如果要支

对于上面这样的div,当鼠标打开时,它应该成为cursor:pointer,当单击时,激发一个

javascript函数,如何做这项工作


编辑:当鼠标打开时,如何更改div的背景色

再次编辑:如何使第一个跨距的宽度为120px?在firefox中似乎不起作用

添加属性

<div><span>shanghai</span><span>male</span></div>
选择器使用的属性选择器在IE的某些版本中不起作用。如果要支持这些版本,请向div添加一个类。

这是最简单的方法


当然,在最终的解决方案中,您应该将标记与样式(css)和行为(javascript)分开-阅读它,了解不仅解决这个特定问题,而且在标记设计中的良好实践。

如果这个div是一个函数,我建议在样式中使用cursor:pointer,比如style=“cursor:pointer”并且可以使用onclick函数

像这样

div[onclick] {
  cursor: pointer;
}

但我建议您使用JS框架,比如或

给它一个类似“某物”的ID,然后:

更改背景颜色(根据您更新的问题):


当你更新你的问题时,这里有一个令人生厌的例子:

something.onmouseover = function() {
    this.style.backgroundColor = 'red';
};
something.onmouseout = function() {
    this.style.backgroundColor = '';
};
上海男

这也会改变背景颜色

我建议使用jQuery:

<div style="cursor: pointer;" onclick="theFunction()" onmouseover="this.style.background='red'" onmouseout="this.style.background=''" ><span>shanghai</span><span>male</span></div>

我建议使用一个名为clickbox的CSS类,并使用jQuery激活它:

$('#mydiv')
  .css('cursor', 'pointer')
  .click(
    function(){
     alert('Click event is fired');
    }
  )
  .hover(
    function(){
      $(this).css('background', '#ff00ff');
    },
    function(){
      $(this).css('background', '');
    }
  );
现在,您只需将div标记为可单击并提供链接:

$(".clickbox").click(function(){
     window.location=$(this).find("a").attr("href"); 
     return false;
 });

很简单,不是吗?

最简单的是:

.clickbox {
    cursor: pointer;
}


他/她为什么要为这么简单的事情使用整个框架!?!?光标:指针在IE以外的浏览器上不起作用。光标:指针是跨浏览器执行“指针”的方式,以及如何在鼠标打开时更改div的背景色?在CSS成员上添加一个鼠标悬停,以便在窗口内执行此操作。onload-event。或者,将脚本放在目标元素下方的某个位置。顺便说一句,如何使第一个span的宽度为:120px?span不采用宽度,因为它是一个内联元素(它的宽度与其内容相同),您可以将其改为div吗?关于背景色,最好在css样式表中这样做:
。class:hover{background:#bbb;}
为什么这么显眼?它按照OP的要求去做。正如上面的评论所示;为什么要为这么简单的事情使用框架呢?如果你的项目中有很多简单的事情,我认为一个好的框架可以节省大量的时间。如果您想要一个javascript框架,jQuery是一个最好的选择:)为什么不使用a-tag作为链接?如果您为a标记设置display:block,它的行为类似于div。此解决方案在语义上更为合理。您仍然可以从下面的答案在a标签上添加事件侦听器。
<div style="cursor: pointer;" onclick="theFunction()" onmouseover="this.style.background='red'" onmouseout="this.style.background=''" ><span>shanghai</span><span>male</span></div>
$('#mydiv')
  .css('cursor', 'pointer')
  .click(
    function(){
     alert('Click event is fired');
    }
  )
  .hover(
    function(){
      $(this).css('background', '#ff00ff');
    },
    function(){
      $(this).css('background', '');
    }
  );
$(".clickbox").click(function(){
     window.location=$(this).find("a").attr("href"); 
     return false;
 });
<div id="logo" class="clickbox"><a href="index.php"></a></div>
.clickbox {
    cursor: pointer;
}
<div onclick="location.href='where.you.want.to.go'" style="cursor:pointer"></div>