<html>
<head>
<script>
    window.onload=function(){w();v()}
    function w(){
        var ap=document.getElementsByTagName("li");
        for(var i=0; i<ap.length; i++){
        ap[i].onmouseover=function(){this.style.background="#008080"};
        ap[i].onmouseout=function(){this.style.background="#808000"};
    }
    }
//求一函数类似以下
function v(event){
document.getElementsByTagName("body")[0].onkeydown=function(e){{//添加向上和向下keyCode == 38 || keyCode==40实现选中效果,
//如果嫌麻烦可以只写一个函数,实现按下keyCode == 38 || keyCode==40键
//在IE和FF下怎么样成功添加事件就行。万分感谢。
//还有在文字上面按下鼠标拖动的时候,会发现文字底色改变,可以进行粘贴操作,如何取消?
alert("求一代码,多谢了")}}}

</script>
<style>
li {
list-style-type: none;
}
</style>
</head>
<body>
    <ul style="background:#808000;width:500px">
        <li style="width:500px">文字文字文字文字文字文字文字</li>
        <li>文字文字文字文字文字文字文字</li>
        <li>文字文字文字文字文字文字文字</li>
    </ul>
</body>
</html>

解决方案 »

  1.   

    添加向上和向下键keyCode == 38 || keyCode==40实现选中效果(改变颜色),
    如果嫌麻烦可以只写一个函数,实现按下keyCode == 38 || keyCode==40键在IE和FF下怎么样成功添加事件,例如按下向上或向下箭头弹出alert。
    还有一个问题是在文字上面按下鼠标拖动的时候,会发现文字底色改变,可以进行粘贴操作,要如何取消?
      

  2.   

    function v(event){
        document.onkeydown = function(event){    
            var e=event || window.event;    
            var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;   
            if(keyCode == 40){    
                alert("下");    
            }else if(keyCode == 38){    
                alert("上");    
            }    
        }} 第二个问题的粘贴操作,不知LZ如何操作?
      

  3.   

    谢谢浪尖!这个代码很好用!剩下的我慢慢想想,看能不能写出来实现用上下箭头选用的效果。
    不过还用第二个问题我想是本人力量是没办法解决了:在文字上面按下鼠标拖动的时候,会发现文字底色有改变并且能进行粘贴操作。现要我是想要改变(或取消)这种状态,变成:当用鼠标左键在第一行文字上面按下去拖动到最后一行的时候,没有反应,也就是避免文字背景色改变(当然onmouseover的效果不用取消),然后松开左键在文字上面按右键也不会弹出粘贴复制的窗口。