我有一系列标题/正文模式的div,点击标题会显示有问题的正文.
这一切都发生在.click初始化页面就绪...
而不是这样做(这很好,但很痛苦):
$('#show_fold_ping').click(function(){ ShowArea('#fold_ping') });
$('#show_fold_http').click(function(){ ShowArea('#fold_http') });
$('#show_fold_smtp').click(function(){ ShowArea('#fold_smtp') });
$('#show_fold_pop3').click(function(){ ShowArea('#fold_pop3') });
...
Run Code Online (Sandbox Code Playgroud)
我想这样做:
var Areas = ['ping','http', 'smtp', 'pop3'];
for( var i in Areas ){
Area = '#show_fold_'+Areas[i];
$(Area).click(function(){ alert(Area); /* ShowArea(Area); */ });
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是所有这些似乎都被初始化为最后一个.IE:如果pop3是最后一个,点击#show_fold_ [any]将提示'#show_fold_pop3'.
这看起来应该非常简单.我错过了一些明显的东西,或者是否存在将字符串传递给jQuery但我不知道的问题?
编辑:
嘿,这些都很棒.我已经阅读了一些关于闭包和自我调用的函数,并且(kindasorta)得到它.
到目前为止,我有这个,但点击似乎没有正确绑定.区域将以正确的值发出警报,但没有单击绑定.我仍然有区域问题,或者我只是完全脱离标记?
$(function(){
Areas = ['ping','http', 'smtp', 'pop3', 'imap', 'ftp', 'dns', 'tcp', 'database', 'seo'];
for( var i = 0; i < Areas.length; i++ ){
(function (Area) {
alert(Area);
$("#show_fold_"+Area).click(function(){ alert('x'); });
})(Areas[i]);
}
});
Run Code Online (Sandbox Code Playgroud) 有人可以解释PVOID在以下函数中使用的是什么以及如何使用它:
BOOL DoSomething(PVOID pMemPhy)
Run Code Online (Sandbox Code Playgroud) 我有一系列有开始日期和结束日期的范围.我想检查日期是否在该范围内.
Date.before()和Date.after()似乎有点尴尬.我真正需要的是像这样的伪代码:
boolean isWithinRange(Date testDate) {
return testDate >= startDate && testDate <= endDate;
}
Run Code Online (Sandbox Code Playgroud)
不确定它是否相关,但我从数据库中提取的日期有时间戳.
我有加密/复制保护问题.
我正在为使用加密狗的公司编写应用程序.请不要告诉我软件保护是无用的,或者我应该让它自由地飞到空中,或者我花费这么多时间是浪费; 这不是关于软件保护有效性的哲学问题,更像是如何操作.
据我了解,破解加密狗保护软件的第一步是从代码中删除对加密狗的所有调用(即修补可执行文件).另据我的理解,我可以在.NET中创建"强名称"以保护应用程序和程序集,如本MSDN文章中所述.
强大的命名是否足以确保我的应用程序无法轻松修补?或者我是否需要使用某种加密库?如果我需要使用库,哪一个,或者我在哪里可以获得有关设置的信息?
当然,下一步是将重要的算法放在加密狗上.我意识到这些只是专用饼干的速度颠簸,但随着我们的市场份额的增长,减速带来帮助我们达到不太敏锐地感受到海盗刺激的程度(我希望).
谢谢!
我试图确定HashSet.NET 3.5(C#)中的两个对象是否是相等的集合,即包含相同的值.这似乎是人们显然想做的事情,但是所提供的功能似乎都没有给你这些信息.
我能想到这样做的方法是检查两组的计数是否相等,一组是另一组的子集(不合适).我认为唯一可能发生的方法是它们是否相同.示例代码:
HashSet<int> set1 = new HashSet<int>();
set1.Add(1);
set1.Add(2);
set1.Add(3);
HashSet<int> set2 = new HashSet<int>();
set2.Add(1);
set2.Add(2);
set2.Add(3);
if(set1.Count == set2.Count && set1.IsSubsetOf(set2))
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
这会一直有效吗?有没有更好的办法?为什么不HashSet具有 public bool IsEqualSetWith()的功能?
我环顾四周,没有看到这个问题.
在Javascript中确定页面的媒体类型(例如屏幕,打印,手持设备)有什么可靠的方法?我已经看过参考文献document.styleSheets[0].media,但是由于浏览器支持问题或者因为我不理解某些东西,我没有运气使用它.
我问,因为我希望Javascript在屏幕视图中隐藏某些内容,但不能在打印视图中隐藏.不能依赖媒体相关的样式来执行此操作,因为我使用Prototype来为元素运行切换开关,并且如果将元素声明为invisible(display: none),则Prototype将不允许将元素切换为可见-inline CSS*.我试图只为元素(<div style="@media print { foo: bar; } @media screen { blargh: bfargle; }">)设置特定于媒体的内联样式,但从我所知道的,这是不受支持的.
我知道我可以在样式表中循环并检查特定于打印的链接样式表是否处于活动状态,但我目前处于一种情况,即在单个链接样式表中混合了各种特定于介质的样式声明,所以这不好.是的,我可以将样式表拆分成不同的媒体类型,但我首先要弄清楚我是否可以用Javascript从DOM中可靠地拉出媒体类型,完全独立于CSS.哦,我已经尝试了"为打印视图隐藏元素,然后检查它是否可以用Javascript显示"但是那个'尽管这些元素不可见.如果有人想了解我在这里谈论的更多细节,我可以在编辑中详细说明.
*这是我没有理解的东西,并且经常被激怒.任何可以提供任何洞察力的人都会得到我的大力支持.
我需要一种方法将x64窗口中的CreateRemoteThread同时转换为64位和32位进程.我已经找到了如何找到目标进程的指令集,如何在程序集sled的目标进程中分配内存,我几乎已经找到了有关地址空间随机化的方法.
当它是错误的指令集时,我不知道如何在远程进程上实际启动线程.
注意:我不关心你解决的两个问题中的哪一个.我自己的exe可以是32位或64位(但我真的必须在我知道目标进程的位数之前选择).
在有人抱怨我真的不应该这样做之前,问问为什么我必须FILE_SHARE_DELETE在所有打开的句柄上设置才能删除正在使用的文件.不,没有必要删除其他进程已打开的文件.
我的问题标题解释了这一切.这非常令人沮丧,尤其是在处理大量类似常量时.它适用于Visual Basic项目,但不适用于Visual C#.
一般来说,为什么IDE对于不同的语言似乎是如此不同(例如VB中的超级智能感知而不是C#中的智能感知)?对我来说,让两个不同的团队为两种主要.NET语言的IDE工作是没有意义的......
我必须在这里遗漏一些明显的东西.我不明白为什么这个linq查询结果的转换返回null而不是我正在请求的类型列表.
IList<IMyDataInterface> list = query.ToList() as IList<IMyDataInterface>;
Run Code Online (Sandbox Code Playgroud)
运行它的完整代码如下.这是我需要弥合的知识差距.我已经尝试过各种各样的演员阵容来让它发挥作用.我没有异常,只是一个空.值得注意的是,Linq查询将其结果选择为我的自定义"MyDataClass"的实例,该实现IMyDataInterface
class Program
{
static void Main(string[] args)
{
IMyFunctionalInterface myObject = new MyClass();
//myObject.Get() returns null for some reason...
IList<IMyDataInterface> list = myObject.Get();
Debug.Assert(list != null, "Cast List is null");
}
}
public interface IMyFunctionalInterface
{
IList<IMyDataInterface> Get();
}
public class MyClass : IMyFunctionalInterface
{
public IList<IMyDataInterface> Get()
{
string[] names = { "Tom", "Dick", "Harry", "Mary", "Jay" };
var query = from n in names
where n.Contains("a")
select new MyDataClass
{ …Run Code Online (Sandbox Code Playgroud)