我有一个小"浮动工具箱" - 一个div与position:fixed; overflow:auto
.工作得很好.
但是当在该框内滚动(使用鼠标滚轮)并到达底部或顶部时,父元素"接管""滚动请求":工具框后面的文档滚动.
- 哪个很烦人而不是用户"要求".
我正在使用jQuery并认为我可以使用event.stoppropagation()来阻止此行为:
$("#toolBox").scroll( function(event){ event.stoppropagation() });
它确实进入了函数,但仍然无论如何传播(文档滚动)
- 在SO(和Google)上搜索这个主题非常困难,所以我不得不问:
如何防止滚动事件的传播/冒泡?
编辑:
工作解决方案感谢amustill(以及Brandon Aaron的mousewheel-plugin:https:
//github.com/brandonaaron/jquery-mousewheel/raw/master/jquery.mousewheel.js
$(".ToolPage").bind('mousewheel', function(e, d)
var t = $(this);
if (d > 0 && t.scrollTop() === 0) {
e.preventDefault();
}
else {
if (d < 0 && (t.scrollTop() == t.get(0).scrollHeight - t.innerHeight())) {
e.preventDefault();
}
}
});
Run Code Online (Sandbox Code Playgroud) 根据我的研究,for..in
循环中键的顺序应该是未定义/不可靠的 - 但是,如果不受干扰,应该按插入顺序 - 但它不是:
我从数据库中获取此数据对象,按名称排序:
var travel = {
'2': { name: 'bus', price: 10 },
'3': { name: 'foot', price: 0 },
'1': { name: 'taxi', price: 100 }
}
for (way in travel) console.log( travel[way].name ) // => taxi, bus, foot
Run Code Online (Sandbox Code Playgroud)
密钥以数字方式排序(在Chrome,Firefox和Edge中).为什么?
并且(因为我错了)我怎么能按顺序遍历它们.name
?
PHP:
$SQL = "SELECT goodies FROM stash WHERE secret='" . str_replace("'",'',$_POST['secret']) . "'";
一个邪恶的天才黑客可以将SQL注入我的SELECT - 如何?
<?php
$int = 1968401665333658496;
echo json_encode( array("$int",$int) );
?>
Run Code Online (Sandbox Code Playgroud)
在浏览器中收到: [ "1968401665333658496" , 1968401665333658600 ]
它"舍入"我的整数?
顺便说一下:PHP_INT_MAX = 9223372036854775807 ~ PHP Version 5.3.2-1ubuntu4.7
这些巨大的整数在任何地方都没有问题(PHP,MySQL或Javascript)
- 直到json_encode(
它搞砸了(默默地顺便说一句......)
我被这个相当愚蠢的想法所挑战.
所以我可以用以下方法替换所有"i"事件Blabla[span class=superI]i[/span]rest
:
我的想法是在真实的i后面添加一个额外的(红色)i,并将真实的i剪掉.
这甚至可能吗?
我正在使用CMS,希望让用户嵌入Soundcloud曲调和播放列表。
我想避免摆弄API-因为它似乎没有必要
:)相反,我只是将iframe-src-url和适当的参数拼凑在一起。
我在任何地方都找不到官方名单,因此我从这里和其他地方的各种帖子中收集了自己的名单:
&color=FF4444 // play-button and equalizer graphic (if not &visual=true)
&auto_play=false // shouls be obvious
&show_artwork=true // show the artist-graphic on the left
&show_comments=true // show fans commenst under equalizer
&show_playcount=true // number of times played @ bottom right
&hide_related=true // don't force user over to Soundcloud after play
&show_user=false // don't show uploaders name @ top left
&show_reposts=false // ?
&liking=fals??e // dont show [Like] button
&visual=true // use artist-graphic for background …
Run Code Online (Sandbox Code Playgroud) 我创建了一个禅宗主题的子.我非常自豪,但在右上角(#second- menu)用户菜单显示 - 完美.
我只是不明白它是如何得到的?
这不奇怪吗?
有很多类似的问题,但我没有看到:
我正在使用用户的电子邮件用户名 - 因为它们是独一无二且令人难忘的(未显示).
并且send_a_new_random_password用于"检索".
但是,这将允许不满的前任一次又一次地更改用户密码:(
为了解决这个问题(这里来了)我希望在用户记录中有2个"正确"密码
- PASSWORD和newPASSWORD(两者都用PHPass 0.3进行散列)
在下一次成功登录(检查两者)时,我将使用过的一个保存为PASSWORD,并转储newPASSWORD - 这样使click_this_obscure_URL_to_enable进程无法执行:)
我忽略了什么吗?
php ×3
javascript ×2
security ×2
ajax ×1
css ×1
css3 ×1
drupal ×1
drupal-zen ×1
embed ×1
for-in-loop ×1
iframe ×1
jquery ×1
json ×1
login-script ×1
mysql ×1
scroll ×1
sorting ×1
soundcloud ×1