我有以下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,但只需执行一次.
我有以下功能
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)
它转到了第一个.为什么会发生这种情况,解决这个问题的最佳方法是什么?
我用这个问题构建了一个新的例子
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)