小编Dom*_*ntl的帖子

为什么onClick事件被触发两次?

我有以下html:

<span onclick="alert('Boem')">
    <button id="test1">test</button>
</span>
Run Code Online (Sandbox Code Playgroud)

当我调用以下javascript时:

$('#test1').trigger('click');
Run Code Online (Sandbox Code Playgroud)

onclick事件被触发两次,而我希望它只触发一次.因为JQuery应该在DOM树中查找op并且只找到一个onclick.

我无法控制范围,它是在第三方工具中生成的.我确实可以控制按钮和他的参数.

你可以在这里找到一个JSFiddle示例:http: //jsfiddle.net/Voga/v4100zke/

更新

我不知道跨度的onclick监听器的内容.这也是由第三方工具生成的.我希望点击触发器像现在一样执行此onclick,但只需执行一次.

html javascript jquery

22
推荐指数
4
解决办法
5万
查看次数

关于泛型函数的C#更具体的版本

我有以下功能

public static T Translate<T>(T entity)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

现在如果T是en IEnumerable <>我想要有不同的行为,所以我做了第二个函数

public static IEnumerable<T> Translate<T>(IEnumerable<T> entities)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

当我像这样调用它

IEnumerable<string> test = new List<string>().AsEnumerable();
Translate(test);
Run Code Online (Sandbox Code Playgroud)

但是当我像这样调用它时

Func<IEnumerable<string>> func = () => new List<string>().AsEnumerable();
Translate(func.Invoke())
Run Code Online (Sandbox Code Playgroud)

它转到了第一个.为什么会发生这种情况,解决这个问题的最佳方法是什么?

UPDATE

我用这个问题构建了一个新的例子

static void Main(string[] args)
{
    Func<IEnumerable<string>> stringFunction = () => new List<string>().AsEnumerable();
    InvokeFunction(ExtendFunction(stringFunction));
}

private static T Convert<T>(T text) where  T : class 
{
    return null;
}

private static IEnumerable<T> Convert<T>(IEnumerable<T> text)
{
    return null;
}

private static Func<T> ExtendFunction<T>(Func<T> func) …
Run Code Online (Sandbox Code Playgroud)

c# generics

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

标签 统计

c# ×1

generics ×1

html ×1

javascript ×1

jquery ×1