单击时Jquery单击功能不起作用

时间:2016-08-04 02:30:42

标签: javascript jquery html css

我遇到触发jquery点击功能的问题。我想用jquery隐藏电话号码和电子邮件。电话号码和电子邮件只能查看是否使用了<p>标记。

下面是我已经编写的jquery函数;

function() {
    var $phone = '123456123',
        $email = 'info@youremail.com',
        phone = $('#phone'),
        email = $('#email');

    $(phone).click(function() {
        var text = $(this).text() == $phone ?
            'Click to view number' : $phone;
        $(this).text(text).toggleClass("active");
    });

    $(email).click(function() {
        var text = $(this).text() == $email ? 
            'Click to view email' : $email;
        $(this).text(text).toggleClass("active");
    });

}();    

当我运行代码时,我点击了数字标签,但没有任何变化。

2 个答案:

答案 0 :(得分:3)

您的代码如下:

function() {
  // code 
}();  

IIFEs不这样做。将函数包装到()s:

(function() {
  // code 
})();  

它有效。

你也可以other ways“激活”这个功能。最好的风格取决于争论。我建议选择一个并持续使用它。

See jsbin demo here.

答案 1 :(得分:1)

只需要对js进行一些小修复。 看到它正常工作here

$(function() {
    var $phone = '123456123',
          $email = 'info@youremail.com',
            phone = $('#phone'),
              email = $('#email');

    $(phone).click(function() {
        var text = $(this).text() == $phone ?
            'Click to view number' : $phone;
        $(this).text(text).toggleClass("active");
    });

    $(email).click(function() {
        var text = $(this).text() == $email ? 
            'Click to view email' : $email;
        $(this).text(text).toggleClass("active");
    });
});