小编Pet*_*son的帖子

jQuery live方法有什么问题?

live()方法在jQuery 1.7中已弃用.jQuery文档现在推荐

使用.on()附加的事件处理程序.旧版jQuery的用户应该.delegate()优先使用.live().

我知道如何ondelegate工作,但我不明白为什么他们是更好的.live()更简单,更容易使用.

有没有理由live被弃用?其他方法如何更好?如果我继续使用,会发生什么不好的事live吗?

jquery

29
推荐指数
2
解决办法
4046
查看次数

在MongoDB中删除时自动删除引用对象

我们假设我有这样的架构:

var Person = new Schema({
    name: String
});

var Assignment = new Schema({
    name: String,
    person: ObjectID
});
Run Code Online (Sandbox Code Playgroud)

如果我删除一个人,仍然会有一些孤立的分配,引用一个不存在的人,这会在数据库中造成无关紧要的混乱.

是否有一种简单的方法可以确保在删除某个人时,对该人的所有相应引用也将被删除?

mongoose mongodb node.js

27
推荐指数
5
解决办法
2万
查看次数

为什么*(int*)0 = 0导致访问冲突?

出于教育目的,我正在编写一组方法,这些方法会导致C#中的运行时异常,以了解所有异常是什么以及导致它们的原因.现在,我正在修补导致问题的程序AccessViolationException.

对我来说最明显的方法是写入受保护的内存位置,如下所示:

System.Runtime.InteropServices.Marshal.WriteInt32(IntPtr.Zero, 0);
Run Code Online (Sandbox Code Playgroud)

正如我所希望的那样,这引起了人们的注意AccessViolationException.我想更简洁地做到这一点,所以我决定用不安全的代码编写程序,并通过分配0零指针来做(我认为的)完全相同的事情.

unsafe
{
    *(int*)0 = 0;
}
Run Code Online (Sandbox Code Playgroud)

由于无法理解的原因,这引发了一个问题NullReferenceException.我玩了一些,并发现使用*(int*)1而不是抛出一个NullReferenceException,但如果你使用负数,就像*(int*)-1它会抛出一个AccessViolationException.

这里发生了什么?为什么*(int*)0 = 0导致a NullReferenceException,为什么不导致AccessViolationException

c# pointers unsafe access-violation

26
推荐指数
1
解决办法
1878
查看次数

数字文字后面的C#后缀

我是C#的新手,想要了解价值观是如何运作的.如果我查看一个正常的整数值,它有三个重要部分:类型,名称和值.

int testInt = 3;
 |    |       |
Type Name   Value
Run Code Online (Sandbox Code Playgroud)

但是当我看到浮点值时,由于后缀,它会让我感到困惑F.

float testFloat = 3.0F;
  |      |        |  |
 Type   Name  Value Type
Run Code Online (Sandbox Code Playgroud)

现在有两种类型,如果没有F后缀,则值为double.但是,当我可以用声明双变量时,为什么会发生这种情况

double testDouble = 3.0D;
Run Code Online (Sandbox Code Playgroud)

double作为第一个词应该是足够了,不应该吗?带有后缀M的十进制值也是如此:

decimal testDecimal = 3.0M;
Run Code Online (Sandbox Code Playgroud)

然后,当涉及到其他后缀时,它开始让我感到困惑:

ulong bigOne = 2985825802805280508UL;
Run Code Online (Sandbox Code Playgroud)

ulong之前在测试中使用过,并且知道它u是"无符号"的,并且它的值是正常值的两倍.然后你再次得到U作为后缀,谷歌的文字就像谷歌说的那样.据我了解,"文字"是包含数字的值类型.但我不明白的是,即使没有后缀,为什么这个ulong工作呢?

ulong bigOne = 2985825802805280508;
Run Code Online (Sandbox Code Playgroud)

然后我尝试了不同的东西来理解后缀的重要性

byte testLong = 12312UL;
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为字节(254)的值太高而后缀不会将其转换为长变量.

为什么第一个单词(类型)不足以申报?第一个词应该足以告诉类型.最好的做法是始终为值赋予后缀吗?

c# declaration literals variable-declaration

24
推荐指数
2
解决办法
1737
查看次数

如何在CSS中引用带空格的长类名?

我正在尝试设置一些Drupal输出.特别是,我正在尝试引用一个具有超长名称(包括空格)的类.我不清楚这个的语法.原谅我,我是一名CSS新手.看到:

<article id="node-38" class="node node-article node-teaser contextual-links-region node-even published with-comments node-teaser clearfix" about="/~actionin/node/38" typeof="sioc:Item foaf:Document">
    <header>
        <h2 property="dc:title" datatype=""><a href="/~actionin/node/38">National Nutrition Month: March 2012: “Get Your Plate in Shape”</a></h2> 
Run Code Online (Sandbox Code Playgroud)

我最终想要引用H2属性.我在想它会是这样的:

.node SOMETHING-HERE .header h2 { declaration; }
Run Code Online (Sandbox Code Playgroud)

我不能只引用节点,因为它在别处用于其他目的.我想要具体,只选择这个类:

class="node node-article node-teaser contextual-links-region node-even published with-comments node-teaser clearfix"
Run Code Online (Sandbox Code Playgroud)

html css drupal

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

为什么Funcs不接受超过16个参数?

由于Javascript是我最熟练的语言,因此我熟悉将函数用作第一类对象.我原以为C#缺少这一功能,但后来我听说FuncActiondelegate,我认为这是相当awesomesauce.

例如,您可以声明一个Func连接两个字符串并在它们之间放置一个空格,如下所示:

Func<string, string, string> concat = (a,b) => a + " " + b;
Run Code Online (Sandbox Code Playgroud)

当你输入时我注意到了

Func<
Run Code Online (Sandbox Code Playgroud)

IntelliSense显示它有17个重载:

delegate System.Func<out TResult>
delegate System.Func<in T, out TResult>
delegate System.Func<in T1, in T2, out TResult>
...snip...
delegate System.Func<in T1, in T2, in T3, in T4, in T5, in T6, in T7, in T8, in T9, in T10, in T11, in T12, in T13, in T14, in T15, in T16, out TResult>
Run Code Online (Sandbox Code Playgroud)

那让我开怀大笑.我看了看MSDN文档的 …

.net c# generics arguments functional-programming

22
推荐指数
3
解决办法
3676
查看次数

可以!a!= !! b ^ !! - !a ||!+!a |!c返回1以外的其他内容?

我正在和某人一起玩Javascript游戏,我们很乐意制作荒谬和荒谬的表达方式,使我们的输入获得特定的输出.

这个小迷人的

!a!=!!b^!!-!a||!+!a|!c
Run Code Online (Sandbox Code Playgroud)

似乎总是回归1.我试图推理出来,但是在失去对所有!s的追踪后我放弃了.

是否有任何价值a,b以及c不回1?如果没有,为什么总是回来1

javascript logic

21
推荐指数
2
解决办法
633
查看次数

为什么未执行的eval会对某些浏览器中的行为产生影响?

我们假设我有这两个功能:

function change(args) {
    args[0] = "changed";
    return " => ";
}
function f(x) {
    return [x, change(f.arguments), x];
}
console.log(f("original"));
Run Code Online (Sandbox Code Playgroud)

在大多数浏览器中,除了Opera之外,都会返回["original", " => ", "original"].

但如果我改变这样的f功能,

function f(x) {
    return [x, change(f.arguments), x];
    eval("");
}
Run Code Online (Sandbox Code Playgroud)

它将["original", " => ", "changed"]在IE9,Safari 5和Firefox 16和17中返回.

如果我更换eval("")arguments,它也将改变浏览器.

您可以在jsFiddle上的自己的浏览器上测试它.

我根本不明白这种行为.如果函数在执行这些语句之前返回,那么这些语句如何影响返回值?即使这些陈述被执行,为什么它们会对参数变异产生任何影响?

javascript

20
推荐指数
1
解决办法
325
查看次数

text和textContent属性之间的区别

根据HTML5规范DOM规范,HTMLAnchorElement具有a texttextContent属性.该text物业的目的是什么?据我所知,text它只是一个只读的gettertextContent

javascript anchor dom

20
推荐指数
1
解决办法
6905
查看次数

从不可见的表单注册输入

向一些可用性专家询问了我制作的旋转立方体形状.他们正确地指出,当带有文本框的立方体的面部不可见时,它们不会注册任何输入.

这意味着当多维数据集旋转并且用户仍在键入时,它仅记录用户在仍然可见时输入的内容.这显然是我需要解决的问题.

使用css规则动态隐藏多维数据集的一个面display: none,然后再次显示display: block.

是否有可能在文本框注册输入内部有一个div display: none?我是否需要以其他方式隐藏它以便注册输入?

javascript forms user-input

17
推荐指数
2
解决办法
2010
查看次数