我的代码在IE或Firefox上运行时遇到问题

时间:2011-08-28 20:03:26

标签: javascript javascript-events mouseover

此代码适用于我的咖啡杯测试浏览器,但是当我在其他浏览器中测试时,它根本不起作用。没有任何功能可以工作,拖放,突出显示焦点上的文本以及鼠标悬停时光标更改。

这是我放在一起的一些代码。

<html>
    <head>
        <title>sample</title>
        <script type="text/javascript">

            function handleMouseMove(oEvent) {
                if (oEvent.button == 1) {
                    oEvent.srcElement.dragDrop();
                }
            }

            function handleDragDropEvent(oEvent,nm) {
                oEvent.dataTransfer.setData("text",""+nm+"");
            }

            function SelectAll(id) {
                document.getElementById(id).focus();
                document.getElementById(id).select();
            }

        </script>
    </head> 
    <body>
        <table border="0"  width="25%">
            <td align="left"><div style="background-color: transparent"       onmouseover="this.style.cursor='hand'" onmousemove="handleMouseMove(event)" ondragstart="handleDragDropEvent(event,['S.D.'])"><b><font color="#0080FF">S.D.</font></b></div></td><!-- Col 1 -->
            <td align="center"><font size="1">5.2</font></td><!-- Col 2 -->
            <td align="right"><div style="background-color: transparent" onmouseover="this.style.cursor='hand'" onmousemove="handleMouseMove(event)" ondragstart="handleDragDropEvent(event,['G.B.'])">G.B.</div></td><!-- Col 3 -->
        </table>
        <br /><br />

     <b>16: </b><input type="text" id="16" onClick="SelectAll('16');" name="16" size="12" tabindex=3 value="" />
    </body> 
</html>

我还想在drop上删除文本,因此如果文本框中包含文本,那么插入的内容将替换而不是添加到文本框中。请帮忙。

1 个答案:

答案 0 :(得分:0)

有一些问题:

  1. “手” - 光标不是“手”,而是“指针”
  2. 每个浏览器都不支持ondragstart事件,因为它是HTML5
  3. 并且id / name必须以字母
  4. 开头

    最好在所有这些事件中使用类似jQuery(+插件)的东西。