我在jQuery/CSS中有一个非常奇怪的问题,我不确定这里出了什么问题.考虑这个最小的例子:
#list li {
color:#3c6174;
cursor:pointer;
}
#list li.active {
color:red;
}
<ul id="list">
<li class="active"></li>
<li></li>
<li></li>
</ul>
$buttons = $("#list li");
$buttons.click(function() {
$buttons.removeClass("active");
$(this).addClass("active");
});
Run Code Online (Sandbox Code Playgroud)
在Chrome中查看代码(在此处小提琴),然后单击其中一个列表按钮.什么都没发生.但是,如果你不对焦窗口,它会突然激活类并呈现红色.
它似乎在Firefox中工作得很好:一旦单击列表项,它的颜色将切换为红色,其他颜色再次变为蓝色.
查看DOM显示该类被删除并添加到被单击的元素上,没有任何延迟,所以我不明白为什么它不会立即呈现.
这里发生了什么?
PS:33.0.1750.146 m在Windows Prof x64上使用
我有一个非常简单的枚举
my.package.data.util
public enum Mode
{
SQLEXPORT, PREVIEW, PRINT
}
Run Code Online (Sandbox Code Playgroud)
应该使用哪个在另一个类中使用枚举
my.package.program.ComponentController
switch (_mode) { // line 278, _mode is of type my.package.data.util.Mode
case PREVIEW:
// Do thing for preview
break;
case SQLEXPORT:
// Do thing for SQL
break;
case PRINT:
// Do thing for print
break;
default:
throw new IllegalArgumentException();
}
Run Code Online (Sandbox Code Playgroud)
这两个类在同一个项目中,并编译成一个jar文件.
然后,Web项目正在使用此库(放入WEB-INF/lib文件夹中).但是,当需要使用这个库,特别是那个开关时,NoClassDefFoundError会发生:
NoClassDefFoundError:my/package/program/ComponentController $ 1
at my.package.program.ComponentController.doCall(ComponentController.java:278)
这是我在几个层面上无法理解的:
$1).没有内在的课程ComponentController,也从来没有.my.package.data.util.Mode类消失这里发生了什么?
更多信息不在原始问题中
ComponentController …我需要在字符串中替换somethin,但替换的内容可能会有所不同.有可能
XY - test
XXxY-test
XXyyXx-TEST
yXyy -Test
Run Code Online (Sandbox Code Playgroud)
几乎任何其他空白组合和上述情况.
我需要更换"-test"部分并单独留下"XXX".所以,当使用简单的替换
Replace("XXX -test", "- test", "")
Run Code Online (Sandbox Code Playgroud)
显然,它不会起作用.所以我需要一个更复杂的Replace版本来处理这个任务.有什么我可以使用或我必须自己写吗?
我有一个应用程序,它与许多在方法中创建的自定义对象一起工作,并且从不需要在它们之外.整个结构(在我看来)非常好的面向对象,并使用服务,实用程序和DI模型.
现在,当我运行我的第一个"大型"测试时,我很快遇到了OutOfMemoryExceptions.现在,我不只是想增加堆空间并完成它,因为我可以想象这不会解决问题,而是延迟它直到我的应用程序增长更多并遇到同样的问题.
我正在寻找一些简单易用的解决方案,技巧和片段,它们可以帮助应用程序处理垃圾收集和堆空间,尤其是涉及许多使用对象创建操作的循环时.
像"不要在循环中创建对象,在循环之前创建它们并在其中覆盖它"之类的东西.
我想在我的C#代码中设置我正在创建的word文档的一些自定义文档属性.为此,我按照这篇MSDN文章提出了这段代码:
using Word = Microsoft.Office.Interop.Word; // Version 12.0.0.0
word = new Word.Application();
word.Visible = false;
Word._Document doc = word.Documents.Add(ref missing, ref missing, ref missing, ref missing);
logger.Info("Setting document properties");
Core.DocumentProperties properties = (Core.DocumentProperties)doc.BuiltInDocumentProperties;
properties["Codice_documento"].Value = args[3];
properties["Versione_documento"].Value = args[4];
Run Code Online (Sandbox Code Playgroud)
不幸的是,每当它到达代码时我都会收到此错误:
HRESULT:0x80004002(E_NOINTERFACE)
这是为什么?我完全按照我的MSDN描述使用接口,为什么它不起作用?
我正在使用Interop for office 2010和.net 3.5
我必须维护用VB6编写的旧的活动x控件.
当我们为它开发一些新功能时,我现在需要向用户推出这个新版本.如何以最不突兀的方式做到这一点?
控件是这样嵌入的
<OBJECT classid="clsid:..." CODEBASE="activex/plugin/myOCX.CAB#version=1,0,0,42">
<PARAM name="RunOnLoad" value="true"></PARAM>
[...]
</OBJECT>
Run Code Online (Sandbox Code Playgroud)
不,当我将其更改#version为实际的(1,0,0,80)时,它不会改变任何东西.IE仍然加载旧版本(我可以通过提醒OCX版本的函数检查).
只有当我从我的机器上删除OCX然后加载页面时,它才会打印出新版本.
显然,用户不能也不应该这样做.所以问题仍然存在:一旦将用户部署到服务器上,我怎样才能有效地强制用户使用新版本?
这个查询应该给我一个最接近给定的元素:x,:y在笛卡尔坐标系中.
SELECT `type`
FROM `mapgen_centers`
ORDER BY SQRT(POW((:x - `x`), 2) + POW((:y - `y`), 2))
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
它目前平均需要0.002s,这是可以的,但我觉得这可能会更好,特别是因为我目前非常,经常和频繁地发射它,所以脚本的整个执行堆积到几分钟.
可以(以及如果,如何)通过标准MySQL安装上提供的任何方法(过程,函数,索引,配置......)进行优化
我正在开发一个自动Excel到PDF生成的应用程序.每隔一段时间(并且没有任何明显的原因,程序运行时会出现以下弹出窗口:
32位应用程序的打印驱动程序主机停止工作.

不久之后,这一个:
打印机设置

我需要做什么,如果有的话?我的申请并不复杂.错误总是(100%)发生在这一行:
_application.ActiveWorkbook.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF,
pdfTemplatePath, Excel.XlFixedFormatQuality.xlQualityStandard,
_, _, 1, pdfPrintAreaEnd);
Run Code Online (Sandbox Code Playgroud)
有问题的变量是:
Excel := Microsoft.Office.Intertop.Excel
_application := Excel.Application
_ := System.Type.Missing
pdfPrintAreaEnd := int 6
Run Code Online (Sandbox Code Playgroud)
异常消息如下:
System.Runtime.InteropServices.COMException (0x800A03EC):
Exception from HRESULT: 0x800A03EC
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?而且,更重要的是:为什么它偶尔会发生在每一个人身上?
我在HashTables的应用程序中发生了一件非常奇怪的事情.
首先:是的,我知道HashTables不应该以插入的方式或任何其他方式(但是键的哈希值)进行排序.这不回答我的问题.我不需要它订购,我只是想知道为什么它在两个看似相同的系统之间有所不同.
所以,在这里.左侧是IIS排序,右侧是Visual Studio.

它为什么不同?考虑到.NET应该(?)使用相同的算法来存储和检索来自HashTable的数据,那么双方的排序应该是相同的,不是吗?
如果,正如我所知,HashTable的密钥是经过哈希处理的,那么这两个系统上的哈希应该是相同的,导致哈希(密钥)的顺序相同,因此哈希表中的数据顺序相同.
我哪里错了?IIS和VS之间的HashTable实现有什么区别?
评论中的一些额外说明:
bin文件夹复制到IIS文件夹,因此它们完全相同