javascript对象方法可以是一个操作吗
can javascript object method be an action?
我对javascript对象有点困惑,比如说我在下面有DOM
<div class='of'></div>
<div class='of'></div>
<div class='of'></div>
<div class='of'></div>
//select all of them
var fof = $('.of')
所以fof是一个有4个DOM对象的数组,对吧?我是否可以将fof视为javascript对象,并定义一些方法,如:
fof = {
open:function(){
}
}
是否可以为fof定义一些"动作";就像click-dblclick一样,所以当"action"发生时(就像事件处理程序一样),调用一些方法!在稳定的硬编码
fof.click(function(){
})
我该怎么做?
好的,首先是基础知识。在Javascript中,函数是第一类对象。这意味着你可以做:
var foo = function() { return 1 + 1;};
你可以用同样的方法:
var foo = 5;
在Javascript中,所有真正的对象(除了基元之外的几乎所有对象)都有属性。这些属性可以设置为变量可以设置的任何值:
var foo = {};
foo.bar = function() { return 1 + 1; }
foo.baz = 5;
每当你看到一个方法在一个对象上使用时,你只看到被设置为正在运行的属性的函数。
由于jQuery结果对象(例如$('.of')
)不仅仅是一个数组,它是一个Javascript对象,因此它可以具有属性,而这些属性可以是函数。所以你绝对可以做到:
var fof = $('.of')
fof.foo = function() { return 1 + 1; };
fof.foo();
最后,您询问了如何制作自己的类似jQuery的事件。使用jQuery很容易做到这一点。这里有一个快速的例子:
var fakeObject = {};
fakeObject.fakeMethod = function() {
// do something
$.trigger(this, 'myFakeClick');
}
var fakeObjectWatcher = {}
fakeObjectWatcher.react = function() { alert('someone did something'); };
$(fakeObject).on('myFakeClick', fakeObjectWatcher.react);
fakeObject.fakeMethod(); // triggers myFakeClick event
// fakeObjectWatcher will now alert "someone did something"
对不起,最后一个答案有点短。我认为您使用的是jquery
如果您的:
附加事件最好在文档准备部分完成,你也可以把它放进去。所以这就是一切的样子。
$(document).ready(function() {
($'.of').click(function () {
$(this).do something or function($this)
});//end click
});//end ready
如果你想循环并对所有人做点什么。那。。。$('.of').each(function(){//做点什么});
不要太担心这里的匿名函数,只要确保使用它们即可。如果你想了解它们是什么,谷歌搜索"匿名函数"、"lamda表达式"或"函数编程"应该会让你忙碌一段时间。
相关文章:
- 当我的表单中已经有一个操作时添加JavaScript
- 谷歌地图Api v3:点击信息窗口中的按钮时启动一个操作
- Javascript;使用math.random函数随机执行一个操作
- javascript对象方法可以是一个操作吗
- 从视图中访问另一个操作实例变量
- 在骨干路由器的一个操作中绑定多个视图
- 在一个操作中跳转到页面和页面位置
- EmberJS actions - 当包装在“actions”中时,从另一个操作调用一个操作
- 从另一个操作中获取html代码,并通过javascript操作代码
- 如果鼠标到达屏幕的最左边,执行一个操作
- 当for循环结束时,Javascript执行一个操作
- 使用类名在JavaScript中切换回一个操作
- 在重定向到确认对话框中的模板之前执行一个操作
- 如何在React通量结构中通过一个操作将数据传播到多个存储
- Q -在调用下一个操作之前等待操作完成
- 启动两个脚本的正确方法是什么:一个加载数据,另一个操作样式
- 使用jQuery SVG选择一个操作现有元素
- 为什么一些角$scope函数"return&;一个操作
- 当单选按钮选择被切换时,执行一个操作
- 重定向到一个操作点击事件的页面的锚