jQuery重新渲染/绘制bug

时间:2015-06-27 02:00:57

标签: javascript jquery backbone.js rendering marionette

在使用Marionette和Backbone时,我在jQuery中遇到了一个非常奇怪的问题。

我正在使用Marionette CollectionView渲染一个集合。我的集合包含可以单击并添加到另一个集合的对象,此时我想要隐藏原始集合的元素。

在某些窗口大小的情况下,点击看似随机数量的这些'添加'按钮将导致jQuery非常奇怪地重绘屏幕,隐藏某些元素。调整窗口大小可以修复此问题,也可以在窗口中执行任何其他操作来修复它。

这应该是正常情况 normal

这就是点击“添加”中的一些内容。按钮呢 dumb

编辑:调用jQuery隐藏元素的代码如下

addFeed: (e) =>
  App.vent.trigger("topic:edited", true)
  e.preventDefault() if e
  if @tip
    @tip.remove()
  @$el.hide()
  @trigger('add')

编辑2:

addFeed: (view) =>
  App.vent.trigger("topic:edited", true)

  feed = new Backstitch.Models.TopicFeed()

  feed.set "name" : view.model.get("name")
  feed.set "icon" : view.model.get("icon")
  feed.set "ignore_global_filters" : false

  if view.model.get('service') && view.model.get('service').get('set_origin_icon')
    feed.set "origin_icon": view.model.get('service').get('icon')

  @model.get("feeds").add(feed)

  if view.model.get("id")
    @subscribeToFeed(view, feed)
  else
    @createNewFeed(view, feed)


createNewFeed: (view, feed) =>
  view.model.save {},
    success: (model) =>
      view.model.set "id": model.get("id")
      @subscribeToFeed(view, feed)
    error: (model, response) =>
      App.vent.trigger "error",
        module: "TopicFeedsCatalog"
        activity: "SearchResultLayout#createNewFeed"
        response: response

subscribeToFeed: (view, feed) =>
  feed.save { 
    topic: @model,
    feed_id: view.model.get("id")
  },
  success: (feed) =>
    App.vent.trigger("addedFeed", feed)

  error: (model, response) =>
    App.vent.trigger "error",
      module: "TopicFeedsCatalog"
      activity: "SearchResultLayout#subscribeToFeed"
      response: response

1 个答案:

答案 0 :(得分:0)

看起来列表的包装器/容器元素发生了错误。