任何人都可以给我一个简单的单词解释,说明为限速目的限制函数和去除函数之间的区别.
对我来说,两者似乎也做同样的事情.我查看了这两个博客,了解:
http://remysharp.com/2010/07/21/throttling-function-calls
http://benalman.com/projects/jquery-throttle-debounce-plugin/
我是使用CSS3媒体查询的响应式设计的新手.我清楚地了解我们如何使用这些媒体查询来定位不同的设备,但我感到困惑的地方是BROWSER ZOOMING !!
对于Eg:这是我正常的身体css规则
#body {
margin: 0 auto;
width: 70%;
clear: both;
}
Run Code Online (Sandbox Code Playgroud)
当我想更改此css规则以定位宽度落在150px和600px范围内的设备时,我添加此特定媒体查询.
@media only screen and (min-width:150px) and (max-width:600px){
#body {
margin: 0 auto;
width: 90%;
clear: both;
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我正在使用谷歌浏览器,当我放大到大约200%时,这个特定的媒体查询开始发挥作用.
我如何知道要为不同的缩放级别编写哪些媒体查询,或者另外说明浏览器缩放级别和像素宽度之间的关系.
好吧,这个问题之前已经被问过,但是在jQuery的背景下.在jQuery中,我们可以通过事件Object(link)的originalEvent属性来检查它,它告诉它是手动事件还是编程事件.
在我的情况下,我使用Javascript事件监听器和触发器.在这种情况下,我们可以区分这两种事件(编程和手动)吗?如果不是那么任何变通方法?
我的听众:
function setUpListeners(){
_cellViewWrapper.addEventListener('mousedown',mouseDownHandler,false);
_cellViewWrapper.addEventListener('mouseover',mouseEnter,false);
_cellViewWrapper.addEventListener('blur',blurHandler,true);
_cellViewWrapper.addEventListener('focus',focusEventHandler,true);
}`
Run Code Online (Sandbox Code Playgroud)
触发器使用案例:1.)
if(!IE_FLAG) hidePicker();
//if browser is internet explorer
else{
//if blur is allowed then hide Picker
if(_ieBlurAllowed) hidePicker();
//if blur is not allowed -- keep focus on picker input
//triggering the focus event here
else blurredElement.focus(); /
}
Run Code Online (Sandbox Code Playgroud)
2.) if((inputElem !== _focussedInput)) setTimeout(function(){ inputElem.focus(); },10);
还有很多...
chrome dev工具(或任何扩展)中是否有一个功能,通过它我可以查看某个页面/应用程序上使用的所有事件侦听器.
编辑:
它肯定不是这个问题的重复:如何查看在Chrome DevTools中的元素上触发的事件?
在上述问题解释了如何寻找那些被解雇的时候,我们用我们的应用程序交互的特定事件(我知道如何做到这一点!).
什么我找的是所有事件的列表,我们听着应用程序和DOM它们所连接到的元素.
fiddle http://jsfiddle.net/Q8F5u/3/
我有多个div,每个顶部都有一个删除按钮来删除特定的div(实际上我必须隐藏不删除).的div之后已经删除了我想要检索他们回来按CTRL + Z.
我把它们带回来取得了一些成功.我使用的逻辑是我将删除的divs id 推入堆栈,每当我按下ctrl + z时,我从堆栈中弹出最后一个隐藏的div ID并使用此id来恢复隐藏的div.
这里的javascript:
var deletedBlocks = [];
$('.delete').on('click',function(){
var deletedid = $(this).closest('div[id^=block]').attr('id');
deletedBlocks.push(deletedid);
$(this).closest('div[id^=block]').fadeOut(500);
});
$('body').on('keydown',function(e){
//check for ctrl + z key
if( e.ctrlKey && e.which == 90){
if(deletedBlocks.length > 0){
var lastdeleted = deletedBlocks.pop();
$('.container').children('#'+ lastdeleted).fadeIn(1000);
}
else{
alert('NO further Shift to be retrieved');
}
}
});
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在我的实际应用程序中,这些div没有这样的唯一ID.相反,他们都有相同的类.如何在没有div具有唯一ID的情况下实现相同的功能.
我有调用的函数,它将在页面上打开特定的视图。
function dayViewOpen(target){
var date = getDate();
..
..
..
document.addEventListener('scroll',throttle(function(event){
scrollAddData(date);
},10));
}
Run Code Online (Sandbox Code Playgroud)
同样,我有一个功能可以关闭该特定视图
function dayViewClose(target){
..
..
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都运转良好。但是,当我必须删除较早添加的事件侦听器时,问题开始出现。即当我调用函数dayViewclose()时必须删除事件侦听器;
我知道我们需要引用侦听器才能将其删除,所以我在这样做时会如此。
var handler = throttle(function(event){
scrollAddData();
},10);
function dayViewOpen(target){
var date = getDate();
..
..
..
document.addEventListener('scroll',handler,false);
}
function dayViewClose(target){
..
..
//remove earlier added event listener
document.removeEventListener('scroll',handler,false);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激
validationError([elem1,elem2],type,shiftNo);
Run Code Online (Sandbox Code Playgroud)
要么
var arr = [elem1,elem2];
validationError(arr,type,shiftNo);
Run Code Online (Sandbox Code Playgroud)
我的意思是问题是调用被认为是坏的函数的方法1(它也有任何性能分支).对于这个问题,在参数内声明字符串,对象和函数是一种糟糕的方法.