相关疑难解决方法(0)

如何强制WebKit重绘/重绘以传播样式更改?

我有一些简单的JavaScript来实现样式更改:

sel = document.getElementById('my_id');
sel.className = sel.className.replace(/item-[1-9]-selected/,'item-1-selected');
return false;
Run Code Online (Sandbox Code Playgroud)

这适用于最新版本的FF,Opera和IE,但在最新版本的Chrome和Safari上失败.

它会影响两个后代,这些后代恰好是兄弟姐妹.第一个兄弟更新,但第二个没有.第二个元素的子元素也具有焦点,并包含<a>标记,该标记在onclick属性中包含上述代码.

在Chrome"开发人员工具"窗口中,如果我轻推(例如取消选中并检查)任何元素的任何属性,则第二个兄弟会更新为正确的样式.

是否有一种解决方法可以轻松地以编程方式"轻推"WebKit做正确的事情?

css safari webkit google-chrome

243
推荐指数
9
解决办法
17万
查看次数

如何使用自动完成下拉菜单中的按钮进一步过滤已显示的结果

我在我的 asp.net mvc4 站点上实现了一个自动完成搜索框。我目前能够让框返回结果,当我在搜索框中键入时更新。我还根据结果“类型 ID”动态生成“类别”按钮,并将它们插入到自动完成生成结果时出现的标题中。

我想介绍这样的功能:当用户单击类别按钮时,现有的自动完成结果会得到进一步过滤,因此只显示该“类型 ID”的结果。之后,如果用户想再次查看与搜索字符串匹配的所有结果,可以单击“全部”按钮。

要查看此版本的工作版本,请查看 Discogs.com 上的搜索框。我还在下面粘贴了这个小部件的屏幕截图,以供参考。

我该如何实施?我找不到任何关于此的 stackoverflow 帖子,因为我不知道如何表达我的问题。

在此处输入图片说明

我的代码如下。在其中,我已经有一个功能正常的自动完成功能,并且我有动态生成类别按钮的部分。现在我需要帮助的是找到一种设计模式,以便在我单击动态生成的类别按钮时进一步过滤自动完成结果。

@model myproject.Models.Search_Term

@Scripts.Render("~/bundles/jquery")

<script type="text/javascript">

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // autopopulate input boxes
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    //detect the browser resize and close the Autocomplete box when that event is triggered
    $(window).resize(function() {
       $("#searchBox").autocomplete("close");
    });

    //helper method for autopopulate.
    ///sf/ask/170517511/
    //this helps in creating a autocomplete menu with custom HTML formatting
    function monkeyPatchAutocomplete() {
      $.ui.autocomplete.prototype._renderItem = function( ul, item) {
          var inner_html = '<img src="' + item.imgPathSmall + '">';
          return $("<li>") …
Run Code Online (Sandbox Code Playgroud)

javascript c# ajax asp.net-mvc jquery

5
推荐指数
1
解决办法
686
查看次数

标签 统计

ajax ×1

asp.net-mvc ×1

c# ×1

css ×1

google-chrome ×1

javascript ×1

jquery ×1

safari ×1

webkit ×1