我正在寻找一种方法来拦截网页上的所有鼠标事件(尤其是点击).
我的第一直觉是 $('body').click(....)
但是,如果为特定事件附加了任何其他处理程序,则不会捕获该事件.
把问题放在上下文中:我正在为我的网络应用程序编写一个"统计"模块.我们希望跟踪页面上的所有用户交互以进行调整.如果我们看到他们没有使用功能,我们将添加一个工具提示.
我有以下框架:
jQuery,Knockout和一个小框架"自制"
我想要的是一个用鼠标位置每次点击调用的函数.
我正在将我的一个库移到Xamarin PLC.
官方文档声明支持System.Security.Cryptography命名空间,但它不在实际代码中.
我正在寻找一种计算没有这个命名空间的SHA256哈希的方法(并且在Windows命名空间中没有HashAlgorithmProvider.这种方法打破了Android和WP8.0的应用程序)
我现在正在淘汰赛超过1年,但仍有一个问题我无法解决.这比实际问题更"语法糖"问题.代码简单是在TypeScript中,但它应该没问题,即使你从来没有听说过它.
让我解释.
假设我们有一个可观察数组(MyArray),其中每个元素都有"Value"可观察.我们想要创建一个计算的observable来获得所有的总和.
明显的方法是:
public SommeOne = ko.pureComputed((): number => {
var res = 0;
for (var i = 0; i < this.MyArray().length; i++) {
res += this.MyArray()[i].Value();
}
return res;
});
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,每次迭代都会对this.MyArray()的调用进行两次计算.而"价值"一次.对于小型阵列(少于1000个元素),这是可以的,但对于更大的阵列而言则成为问题.所以,到目前为止我的解决方案是:
public SommeOne = ko.pureComputed((): number => {
var res = 0;
var array = this.MyArray();
for (var i = 0; i < array.length; i++) {
res += array[i].Value();
}
return res;
});
Run Code Online (Sandbox Code Playgroud)
此时我们只评估一次Array函数(仍为Value 1评估,但没关系,我们需要这个)并且它工作正常.
所以最后的问题是:
如何在不创建中间"数组"的情况下实现第二种解决方案?
对于一个数组来说这很好,但是如果你需要在两个数组之间进行减法,或者更复杂的事情,那么它就会快速失控.
javascript ×2
c# ×1
cryptography ×1
hash ×1
html ×1
jquery ×1
knockout.js ×1
sha256 ×1
typescript ×1
xamarin ×1