面对鼠标事件的问题

时间:2016-05-12 12:58:11

标签: javascript jquery html

我是网络开发的新手,所以我正在参加一个名为"使用ASP.NET Core RC1,MVC 6,EF7& amp ;;构建Web应用程序的Pluralsight课程。 AngularJS"作者Shawn Wildermuth。在他的jQuery模块中,Shawn拥有这段代码,对他来说完美无瑕:

     var main = $("#main");
    main.on("mouseenter", function() {
        main.style = "background-color: #888;";
    });
    main.on("mouseleave", function() {
        main.style = "";
    });

我有一个div =" main"在我的index.html页面上,引用了js文件,同一文件中的其他jQuery功能正常工作,我只是不能让这段代码工作。我知道它并不重要,但在这一点上它是个人的。任何建议都有帮助。谢谢!

3 个答案:

答案 0 :(得分:3)

由于style是本机DOM元素的属性,main是jQuery对象。您可以使用.css().removeAttr() jQuery方法来获得所需的结果。

var main = $("#main");
main.on("mouseenter", function() {
    main.css("background-color": "#888");
});
main.on("mouseleave", function() {
    main.removeAttr('style');
});

答案 1 :(得分:2)

您无法像这样访问样式属性。请尝试以下方法:

var main = $("#main");

main.mouseenter(function() {
  main.css("background-color", "#888");
});
main.mouseleave(function() {
  main.css("background-color", "none");
});

答案 2 :(得分:1)

试试这个:

    var main = document.getElementById("main");

    main.onmouseenter=function(){
        main.setAttribute('style', 'background-color:#888;');
    }; 
    main.onmouseleave=function(){
        main.removeAttribute("style")
    };