【问题标题】:convert javascript event handler to jquery将 javascript 事件处理程序转换为 jquery
【发布时间】:2015-04-28 08:36:35
【问题描述】:

我想将事件处理程序转换为 jquery 样式的单击事件,但它似乎不喜欢传递事件,也许是因为它不再是匿名函数了?

        // variables
        var faqOne = document.getElementById("faqOne");
        var $hiddenOne = $(".faqOneHidden");


        // javascript event handler works!
        faqOne.addEventListener("click", function(e){
        showFaqOne.showClickedFaq(e);
        }, false);
        // javascript event handle - doesnt work!
        $("#faqOne").click(function(){
            showFaqOne.showClickedFaq(e);
        });
        // constructor
        function DisplayQFaqs(link, faq){
            this.link = link;
            this.faq = faq;
        }
        // method prototype
        DisplayQFaqs.prototype.showClickedFaq = function(e){
                var el = e.currentTarget;
                if(el === this.link) {

                   this.faq.toggle("slow", function(){
                   });
                }
        };
        // new DisplayQFaqs Objects
        var showFaqOne = new DisplayQFaqs(faqOne,$hiddenOne);

【问题讨论】:

标签: javascript jquery events handler anonymous-function


【解决方案1】:

您的e 内部未定义

$("#faqOne").click(function(){
        showFaqOne.showClickedFaq(e);
    });

改成

   $("#faqOne").click(function(e){//Now e is there
        showFaqOne.showClickedFaq(e);
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    相关资源
    最近更新 更多