2016-08-04 91 views
0

我正在面临触发jquery点击功能的问题。我想用jquery隐藏电话号码和电子邮件。电话号码和电子邮件只能看到是否使用点击<p>标签。点击时jquery点击功能不起作用

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

function() { 
    var $phone = '123456123', 
     $email = '[email protected]', 
     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"); 
    }); 

}();  

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

+1

什么是不工作的有关您的代码?您是否收到特定的错误讯息?它是否加载,然后不做任何事情?请阅读以下关于如何在此网站上提出问题的文章:http://stackoverflow.com/help/how-to-ask –

+0

“active”类的css代码在哪里?你有没有css,当它不活动? – Jodes

+0

使用'$('#phone')。click()'或'phone.click()' - 您不需要额外的“$”。 – ldg

回答

1

只是需要在JS小的修补程序。 看到它的工作here

$(function() { 
    var $phone = '123456123', 
      $email = '[email protected]', 
      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"); 
    }); 
});  
+0

这是工作,谢谢。我在美元符号后工作就像我想要的一样。 –

3

你的代码是这样的:

function() { 
    // code 
}(); 

IIFEs不工作的方式。将函数包装成()s:

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

它可以工作。

您还有other ways“激活”功能。最好的风格取决于争论。我所推荐的是选择一个并持续使用它。

See jsbin demo here.

+0

谢谢更正:) –