我的鼠标侧面有两个按钮,其默认行为是“后退”和“前进”。
我想知道的是是否可以在 JavaScript 中检测这些鼠标按钮的点击,或者这些按钮是否是类似于键盘的“播放”、“音量调高”和“无线开/关”的“特殊”按钮纽扣。
我的问题很简单:
以下是否有效?即使它是,它会在某些浏览器中破解吗?
<div data-text="Blah blah blah
More blah
And just a little extra blah to finish"> ... </div>
Run Code Online (Sandbox Code Playgroud)
哪些字符"必须"在属性值中编码?我知道"应该是",但是还有其他任何需要编码的吗?
如果您对此问题有更好的标题,请随时编辑.
在最长的时间里,我总是习惯location.reload()重新加载页面 - 这是最合乎逻辑的事情,对吧?
但我最近注意到它并不等同于我最初想过的F5,而是更多的Ctrl + F5.当我想要做的只是重新加载页面时,所有图像和其他链接文件都是从服务器重新请求的.
我发现我可以使用location.replace(location.href),这似乎达到了我想要的效果:重新加载页面,但从缓存中检索链接的文件.
这是理想的吗?有比这更好的方法吗?我忽略了这种方法可能存在的任何陷阱吗?
(注意:我已经对链接文件(如脚本)进行了缓存管理,方法是将其filemtime作为查询字符串附加)
当给定元素时,元素的opacity所有静态和相对子元素都以部分透明度呈现.但是,具有position: absolute(或position: fixed)的元素不会继承此元素,而是以完全不透明度呈现,除非另有说明.
现在,我可以style.opacity通过调用执行赋值的函数来替换赋值,然后循环遍历所有子节点,获取它们的计算样式,并查看它们的位置属性是否保证添加自己的style.opacity...但这有点像核武器.
我也知道我可以添加opacity: inherit适当的元素,但这只有在它们是褪色元素的直接子元素时才有效 - 如果它们是后代呢?
我想知道是否有办法强制元素继承正确的透明度.
旁注:当我使用时filter:alpha(...),IE会以我想要的方式执行,有趣的是.
我正在使用:before符号来标记用户个人资料的链接以表征用户,例如"管理员","非活动用户","新手"等.
问题是,可以申请不止一个.
那么,如果链接上的多个类定义了一个:before伪元素,会发生content什么?最具体的选择器是否覆盖第一个?或者他们都按顺序出现?无论发生什么,它都是可靠的行为吗?
为了防止长时间运行的预渲染脚本中的内存损坏,我希望能够对我的程序说“好的,渲染前 1,000 步”。然后我可以查看输出,检查它等。然后我想说“现在生成步骤 1,001 到 10,000”。
我让它几乎完美地工作。我只有一件事在挣扎。
渲染脚本用于rand()向生成的输出添加熵,并srand()在开始时确保它在重新渲染时保持不变。目前我通过计算rand()被调用的次数来“解决”这个问题,然后在开始实际生成之前调用它很多次。问题在于它可能非常慢,尤其是当我生成了几百万个随机数时。
有什么方法可以确定我需要传递给什么值srand()才能继续生成序列?这甚至可能吗?
如果没有,有没有办法找出rand()正在使用的确切算法?我真的很喜欢我从中获得的地图,srand(43)并希望尽可能保留它!
编辑:使用帕塔舒的回答,这是我想出的:
function rnd() {
static $seed = 42;
$seed = $seed*214013+2531011;
$mod = pow(2,32);
while($seed > $mod) $seed -= $mod;
$rs = floor($seed/65536)&0x7fff;
return floor(2*$rs/0x8000);
}
Run Code Online (Sandbox Code Playgroud)
它依赖于浮点数的使用,因为据我所知,尾数的 51 位很容易以完美的精度存储数字,如果使用位运算符,整数会被截断或环绕。
简短版本:可以在拖放操作中间触发鼠标滚轮事件吗?
长版:
我目前正处于此特定功能的设计阶段,因此我还没有任何代码。我问这个是因为我知道走这条路是否浪费时间,所以我可以设计其他东西。
基本上,我在一侧有一个物品清单,在另一侧有一个篮子。就目前而言,每个项目都有一个输入框和一个按钮,因此您可以输入数量并将其添加到篮子中(反之亦然)。我想添加拖放功能,这样您就可以以一种或另一种方式拖动项目。如果您只想要一个项目,这很好用,但我想添加一种在拖动时调整数量的方法。我想到了鼠标滚轮,因为您一开始就已经在使用鼠标进行拖动了。
因此,在深入研究代码之前,我需要知道是否真的可以在拖动期间接收鼠标滚轮事件,如果可以,我应该在哪里添加侦听器?
根据我为这个特定项目提供的规范,我同时启动了几十个AJAX请求,并在完成后显示结果以尽快给出响应.
目前我将所有项目显示为"正在加载...",然后在请求完成时逐渐被替换.
由于浏览器的限制,其中只有大约五个实际上在任何给定时间加载,其他的被阻止,直到早期的完成.
我想知道是否有任何方法可以找出块何时结束并且实际发送了请求.
初始测试onreadystatechange用于检测不是很有希望的readyState值4- 没有事件在它完成之前被触发,此时我得到2,3并且4立即连续(注意,对于测试,AJAX响应被usleep随机时间人为地延迟)
有任何想法吗?或者是我唯一真正选择手动实现阻止部分?
我注意到我的dev服务器的php_errors.log文件在我之前的bug修复狂欢之后又重新出现了,但这次我注意到了一些令人不安的事情......
[06-Jan-2016 01:29:29 UTC] PHP致命错误:未捕获PDOException:SQLSTATE [HY000] [2002] /home/niet/public_html/classes/DB.class.php:14
堆栈中没有此类文件或目录trace:
#0 /home/niet/public_html/classes/DB.class.php(14):PDO - > __ construct('mysql:host = loca ...','niet',' MY ACTUAL PASSWORD! ',Array )
#1 /home/niet/public_html/classes/DB.class.php(47):DB :: connect()
#2 ...
不用说,这是一个问题.所以基本上,我的问题很简单:
如何将字符串传递给函数,如果出现错误,它是否会显示在堆栈跟踪中?
为了变得聪明,我尝试了这个:
new PDO(
"mysql:host=localhost.....",
"niet",
new class { public function __toString() { return "correct horse battery staple"; }}
);
Run Code Online (Sandbox Code Playgroud)
当它成功连接到数据库时,抛出的异常(例如错误的密码)仍然显示字符串值,而不是匿名类.如果我使用"普通"类来尝试从跟踪中"隐藏"变量,则会出现类似的问题.
我有一个像这样实现的SVG发光过滤器:
<filter id="outline">
<feMorphology in="SourceAlpha" operator="dilate" radius="2"></feMorphology>
<feGaussianBlur stdDeviation="1" result="dilated"></feGaussianBlur>
<feFlood style="flood-color: #RRGGBB"></feFlood>
<feComposite in2="dilated" operator="in"></feComposite>
<feMerge>
<feMergeNode></feMergeNode>
<feMergeNode in="SourceGraphic"></feMergeNode>
</feMerge>
</filter>
Run Code Online (Sandbox Code Playgroud)
这很好用,但仅适用于一种特定的发光颜色。
我希望能够具有任意发光颜色,以某种方式将变量传递给flood-color属性。
我曾尝试使用currentColor,但这似乎是定义过滤器时的颜色,而不是应用时的颜色。
我可以为每种颜色定义一个过滤器(它们的数量有限),但只需要定义一次会更好——当然也更节省空间。这是可能的,如果可以,如何?
javascript ×4
css ×3
html ×2
php ×2
ajax ×1
caching ×1
mouse ×1
mouseevent ×1
mousewheel ×1
opacity ×1
random ×1
reload ×1
svg ×1
svg-filters ×1