属性MouseEvent.button在鼠标悬停事件上不起作用

时间:2019-05-14 07:56:33

标签: javascript

我想在表的td元素上单击鼠标左键。 我编写了函数dis(),并在其中使用了MouseEvent.button属性。

function dis() {
        if (k && event.button == 0) {
            event.target.style.backgroundColor = "black";
        }
    }

该功能由onmouseover事件触发。我注意到在这种情况下,无论是否按下哪个按钮,event.button的值始终等于0。 我注意到,如果该功能是由mousedown事件触发的,则该值会根据所按下的按钮而改变。

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

我认为您需要将事件传递到dis函数中:

function dis(event) {
   if (k && event.button == 0) {
       event.target.style.backgroundColor = "black";
   }
}

否则它将生成错误:Cannot read property 'button' of undefined

答案 1 :(得分:0)

在javascript中,如果某个事件调用了某个函数,则可以将该事件放入该函数的参数中。

因此,在代码中,您应该将事件作为函数的参数传递:

    <xs:element name="RefreshToken" type="RefreshTokenType"/>
    <xs:complexType name="RefreshTokenType">
        <xs:sequence>
            <xs:element name="meta" type="MetaDataType" minOccurs="0" maxOccurs="unbounded"></xs:element>
            <xs:element name="audience" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element> <!-- mandated by OpenID Connect spec (aud) -->
        </xs:sequence>
        <xs:attribute name="authorized_party" type="xs:string" use="optional" /> 
        <xs:attribute name="client_id" type="xs:string" use="optional" />
    </xs:complexType>

答案 2 :(得分:0)

<html>
<head>
    <title></title>
    <script src="../Scripts/jquery-3.4.1.min.js" type="text/javascript"></script>
    <script language="javascript">
        $(document).ready(function () {
            $('.mouseclik tr td').mousedown(function (e) {

                if (e.which == 3) {
                    e.target.style.backgroundColor = "black";
                    return false;
                }
                return true;
            });
        });
    </script>
</head>
<body>
    <form >
    <div>
        <table id='MouseLeftClick' class='mouseclik'>
            <tr>
                <td>
                    Column one
                </td>
            </tr>
            <tr>
                <td>
                    Column Two
                </td>
            </tr>
            <tr>
                <td>
                    Column Three
                </td>
            </tr>`enter code here`
        </table>
    </div>
    </form>
</body>
</html>