JS改变了变量onmouseover

时间:2017-09-28 12:34:55

标签: javascript onmouseover

我尝试更改变量onmouseover,这是我的代码:

$(document).ready(function() {
    var x;
    $(".button").hover(function() {
        console.log (x);
    });        
});
</script>
<div class="button" onmouseover="x = 'y'"> Button </div>

1 个答案:

答案 0 :(得分:1)

您有两个x个变量。

  • 向其分配x时隐式创建的全局 'y'
  • 您传递给x的匿名函数范围内的ready()var x;x明确创建。

您正在给一个值并记录另一个的值。

不要使用内部事件属性。只需通过JavaScript绑定您的事件处理程序。然后,您可以保持范围清晰,并确保您只处理单个$(function() { var x; $("button").on('mouseover', setValue); $("button").on('mouseover', logValue); function setValue() { x = "y"; } function logValue() { console.log(x); } });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button">Button</button>
..

注意:HTML有一个非常好的按钮元素。您不需要使用类来表示它。