小编Joh*_*han的帖子

jquery.each() - "this"vs valueOfElement

jQuery.each()循环中,我一直认为这this相当于valueOfElement.有人可以解释这个区别吗?

例:

$.each(object, function(i, val){
    $('body').append('<b>valueOfElement:</b> ' + typeof val + ' - ' +  
    '<b>this: </b>' + typeof this + '<br/>');
});
Run Code Online (Sandbox Code Playgroud)

结果:

valueOfElement: string - this: object
valueOfElement: boolean - this: object
valueOfElement: object - this: object
Run Code Online (Sandbox Code Playgroud)

小提琴

javascript jquery

7
推荐指数
1
解决办法
764
查看次数

strtotime返回false

我的日期字符串看起来像这样:

"2012 28 Nov 21:00 CET"
Run Code Online (Sandbox Code Playgroud)

strtotime("2012 28 Nov 21:00 CET") 返回false.

有没有办法将此字符串转换为日期对象,还是需要以不同方式对其进行格式化?

php

7
推荐指数
1
解决办法
1万
查看次数

如何使用call/apply检查函数是否被调用

function foo(){
    console.log('foo', this);
}

foo();
foo.call({ bar: 1 });
foo.apply([{ bar: 1 }]);
Run Code Online (Sandbox Code Playgroud)

有没有办法知道是否foo()使用普通调用或call/apply

http://jsfiddle.net/H4Awm/1/

javascript

7
推荐指数
1
解决办法
158
查看次数

从.jpeg/png创建一个动画.gif文件

是否可以使用GD库来创建动画gif?我希望用户上传一个png/jpeg并从图像中生成一个2帧动画gif.谢谢

php gd

6
推荐指数
2
解决办法
8656
查看次数

在会议期间留出时间直到超时

有没有办法知道在超时发生之前它在会话对象上剩下多长时间?

我知道如何从webconfig获取实际超时,但有没有办法知道会话最后一次活动?

我的用户将在我的应用程序中填写大型表单,如果在他们点击"提交"之前需要超过10分钟,他们将被注销.如果会话即将超时,我想警告他们.我将使用ajax调用进行检查.

c# asp.net

6
推荐指数
3
解决办法
2万
查看次数

在Javascript中模拟C#Lambda方法

我想模拟C#Any()方法,该方法可用于确定集合是否具有基于lambda表达式的任何匹配对象.

我使用jQuery的$ .grep简化操作:

Array.prototype.any = function (expr) {

    if (typeof jQuery === 'undefined')
        throw new ReferenceError('jQuery not loaded');

    return $.grep(this, function (x, i) {
        return eval(expr);
    }).length > 0;

};

var foo = [{ a: 1, b: 2 }, { a:1, b: 3 }];

console.log(foo.any('x.a === 1')); //true
console.log(foo.any('x.a === 2')); //false
Run Code Online (Sandbox Code Playgroud)

我知道这eval()是不好的做法,原因很明显.但是在这种情况下是否可以,因为我不会将此与任何与用户输入相关的内容使用?

这可以不用eval()吗?我无法想出一种方法将表达式传递给函数而不进行评估.

http://jsfiddle.net/dgGvN/

javascript jquery

6
推荐指数
2
解决办法
242
查看次数

将数据库上下文传递给静态方法

我有一个带有一些静态列表的类。出于演示目的,我仅显示两个:

public class Foo
{
    public static readonly List<long> FirstList(EfEntities dbContext)
    {
        return dbContext.SomeTable.Where(x => x == 1).ToList();
    }

    public static readonly List<long> SecondList(EfEntities dbContext)
    {
        return dbContext.SomeTable.Where(x => x == 2).ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

我不太喜欢将数据库上下文传递给每个静态方法。您对不同的方法有什么建议吗?

.net c# asp.net static

6
推荐指数
1
解决办法
5532
查看次数

将List <object>转换为AnonymousTypes列表

我已使用类型的对象填充了以下列表 AnonymousType

List<object> someList = new List<object>();

someList.Add(new { foo = 1 });
Run Code Online (Sandbox Code Playgroud)

我的问题是,我无法强行输入这样的事情:

someList.Where(x=> x.foo == 1);
Run Code Online (Sandbox Code Playgroud)

但是,可以在此列表中:

var someList = new[] { new { foo = 1 } };
Run Code Online (Sandbox Code Playgroud)

我可以投出我的第一个列表,使其表现得像第二个列表吗?我希望能够在上面显示的属性上使用lambda表达式.

c# asp.net

6
推荐指数
1
解决办法
175
查看次数

模拟按键X秒

这是我用来在某个过程中模拟tab-keypress的代码:

[DllImport("user32.dll")]
static extern bool PostMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);

public Form1()
{
    PostMessage(MemoryHandler.GetMainWindowHandle(), 
               (int)KeyCodes.WMessages.WM_KEYDOWN, 
               (int)KeyCodes.VKeys.VK_TAB, 0);

    InitializeComponent();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法扩展它,以便按下(例如)1秒的键,而不是只是点击它?

请注意,我对Thread.Sleep()阻止UI线程的解决方案不感兴趣.

c# winforms

6
推荐指数
2
解决办法
4813
查看次数

从Durandal构建中的优化中排除文件

我正在使用Grunt构建Durandal入门套件专业版.

这一切都很好,除了一个小细节.我想app-config从优化器中排除一个文件(下面),并在构建完成后将其保存为非缩小文件.

根据其他SO线程建议,我目前正在使用empty:它,将其从预期的优化文件中删除.但是,当我打开构建的项目时,我在控制台中收到错误:

Uncaught Error: main missing app-config

options: {
    name: '../lib/require/almond-custom',
    baseUrl: requireConfig.baseUrl,
    mainPath: 'app/main',
    paths: mixIn({ }, requireConfig.paths, { 
         'almond': 'lib/require/almond-custom', 
         'app-config': 'empty:' 
    }),
    optimize: 'none',
    out: 'build/app/main.js',
    preserveLicenseComments: false
}
Run Code Online (Sandbox Code Playgroud)

杏仁是问题吗?我尝试使用它将其切换到完整的requirejs include: ['path/to/require'],但没有成功.

如果你想在本地重现它,你可以从上面的链接下载入门套件,或者使用一个稍微可配置的版本,这更接近我的例子.只需npm install在文件夹中运行一个就可以了.

javascript requirejs durandal grunt-contrib-requirejs requirejs-optimizer

6
推荐指数
1
解决办法
163
查看次数