对于functionadjustment(python)感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于$(document).on(''click'',''#id'',function(){}
对于function adjustment (python)感兴趣的读者,本文将会是一篇不错的选择,并为您提供关于$(document).on(''click'', ''#id'', function() {}) 与$(''#id'').on(''click'', function(){}) 区别、$(function () {} ); 与 ( function ($){} )(jQuery); 的异同、$(function() {....}) ,(function($){...})(jQuery)、$(window).load(function() {})和$(document).ready(function(){})的区别的有用信息。
本文目录一览:- function adjustment (python)
- $(document).on(''click'', ''#id'', function() {}) 与$(''#id'').on(''click'', function(){}) 区别
- $(function () {} ); 与 ( function ($){} )(jQuery); 的异同
- $(function() {....}) ,(function($){...})(jQuery)
- $(window).load(function() {})和$(document).ready(function(){})的区别
function adjustment (python)
Following is a code fragment from bitbake script in BitBake project.
This fragment shows how to make some small adjustments to an existing function without changing its interface.
_warnings_showwarning = warnings.showwarning
def _showwarning(message, category, filename, lineno, file=None, line=None):
if file is not None:
if _warnings_showwarning is not None:
_warnings_showwarning(message, category, filename, lineno, file, line)
else:
s = warnings.formatwarning(message, category, filename, lineno)
warnlog.warn(s)
warnings.showwarning = _showwarning
Here''s another ugly demo.
def func(num):
print num
return
def runtest():
func(1)
func(2)
func(3)
func(4)
return
runtest()
_old_func = func
def _new_func(num):
if (num%2 == 0):
_old_func(num)
else:
print "odd"
return
func = _new_func
runtest()
$(document).on(''click'', ''#id'', function() {}) 与$(''#id'').on(''click'', function(){}) 区别
(document).on是把事件委托到document上,(‘className’).on是把事件绑定到.className元素上。效率方面,直接绑定在元素上会更为高效,绑定在document上,每次document有点击动作,浏览器都会判断当前点击的对象,如果匹配,再决定要不要执行,多了一个判断的环节。但在目前开发中,JS渲染效率很高,所以此异同基本可以忽略不计。此外,针对(document).on的触发特点,延伸一下,(“className”).on为onclick绑定,只有在页面onload的时候执行一次,当页面刷新后,新加载的具有className的元素便没有事件绑定到上面了,相反$(document).on这种方法会刷新和重新赋予绑定操作,所以一定程度上更为全面。
$(function () {} ); 与 ( function ($){} )(jQuery); 的异同
$(function(){...});
的完整写法是:
$(docunemt).ready(function(){...});
意思是在 DOM 加载完毕后执行 ready () 方法。
(function($){...})(jQuery);
等同于下面的写法:
var fun = function(params){....};
fun(jQuery);
是立即执行匿名函数 fun,这里参数是 jQuery。这个写法主要目的是保证 jQuery 不与其他类库或变量有冲突。
(function($){....})(jQuery);
在定义后就立刻执行, 在执行顺序上可能要先于
$(function(){});
其他的没啥区别 。
$(function() {....}) ,(function($){...})(jQuery)
$(function() {....})
是 jQuery 中的经典用法,等同于 $(document).ready(function() {....}),即在页面加载完成后才执行某个函数,如果函数中要操作 DOM,在页面加载完成后再执行会更安全,所以在使用 jQuery 时这样的写法很常见。
js中使用(function()...)(jQuery)
用来定义一些需要预先定义好的函数,在这使用形参,是为了不与其他库冲突,所以实参用jQuery。
好处有
1 避免全局依赖;
2 避免第三方破坏;
3 兼容jquery操作符"$"和jquery;
$(window).load(function() {})和$(document).ready(function(){})的区别
在我以前的开发中,一般用到javascript,我都是采用jquery的模式,也就是大多数时候,第一行写的是:
$(document).ready(function(){
...
});
这个时候,不一定要等所有的js和图片加载完毕,就可以执行一些方法,不过有些时候,必须要等所有的
元素都加载完毕,才可以执行一些方法的时候,比如说,部分图片或者什么其他方面还没有加载好,这个时候,点击某些按钮,会导致出现意外的情况,这个时候,就
需要用到:
$(window).load(function() {
$("#btn-upload").click(function(){ //比如说:
uploadPhotos();
});
});
下面是转载的内容,
用$(window).load(function(){...})而不用body.onload()的几个理由
首先它们都是在页面所有元素(包括html标签以及引用到得所有图片,Flash等媒体)加载完毕后执行的,这是它们的共同点.
不用body.Onload()理由1:
如果我们想同时加载多个函数,我们必须这样写
<body onload="fn1(),fn2()"></body>看起来极其丑陋,如果用$(window).load()我们可以这样加载多个函数
$(window).load(function() {
alert("hello,我是jQuery!");
});
$(window).load(function() {
alert("hello,我也是jQuery");
});
这样写它会从上往下执行这两个函数,并且看起来漂亮多了.
不用body.Onload()理由2:
用body.Onload()不能够做到js和html完全分离,这是一个很严重的问题.
另外用$(window).load(function(){...})和body.onload()都存在同样一个问题,因为开始也说到了,它们都需要等到页面的所有内容
加载完毕才执行,但是如果当网速比较慢的时候,加载一个页面往往需要较长的时间(几秒到十几秒不等,甚至更长...),所以我们经常
会遇到页面还没有完全加载完毕而用户已经在操作页面了这种情况,这样页面表现出来的效果就跟我们预期的效果不一样了,
所以在这里我推荐使用$(document).ready(function(){}),或简写为$(function(){}),因为他会在页面的dom元素加载完毕后就执行,
而无需等到图片或其他媒体下载完毕.
但是有时候确实我们有需要等到页面的所有东西都加载完后再执行我们想执行的函数,所以是该使用$(window).load(function(){...})还是
该使用$(function(){})往往需要结合具体需要而作不同的选择.
最后附上一段在所有DOM元素加载之前执行的jQuery代码
<script type="text/javascript">
(function() {
alert("DOM还没加载哦!");
})(jQuery)
</script>
呵呵,有时候我们也有这个需求!
关于function adjustment (python)的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于$(document).on(''click'', ''#id'', function() {}) 与$(''#id'').on(''click'', function(){}) 区别、$(function () {} ); 与 ( function ($){} )(jQuery); 的异同、$(function() {....}) ,(function($){...})(jQuery)、$(window).load(function() {})和$(document).ready(function(){})的区别等相关知识的信息别忘了在本站进行查找喔。
本文标签: