问题===============================================================================
折腾半天无解,求高手解救。
有个“文字/图片”切换图标,HTML 如下
<div class="btn-group pull-right view_style">
<%= link_to fa_icon('bars'), url_for(params.merge(text: true)) , title: '纯文字显示', class: "btn" %>
<%= link_to fa_icon('th-large'), url_for(params.except(:text)),title:'图文显示', class: "btn checked" %>
</div>
然后 coffee 如下
$view_style = $(".view_style a")
$view_style.click ->
$this = $(@)
$view_style.removeClass "checked"
$this.addClass "checked"
点击之后链接跳转正常,但 removeClass "checked"和 addClass "checked"没生效,为什么呢?
我另一组类似按钮却正常,代码是相似的,区别是这里的按钮链接不必跳转。
$filters = $('.filters button')
$filters.click (e) ->
e.preventDefault()
$this = $(@)
$filters.removeClass("checked")
$this.addClass "checked"
这段代码 removeClass "checked"和 addClass "checked"正常生效……
原因================================================================================ 链接已经跳转到新页面上了,原页面的 click 操作结果失效。
解决方案========================================================================= 不用 js 判断,直接在 view 中设置当前 url 下选中状态的图标 class: ”checked”