使用Event.observe可以更好地让页面元素与js代码分离,如下面的代码.
<html>
<head>
<title>测试</title>
<script type="text/javascript" src="prototype-1.5.1.2.js"></script>
</head>
<body>
请输入:<input type="text" name="birth" id="birth"/><br/>
<input id="btn_test" type="button" value="测试" />
</body>
</html>
<script type="text/javascript" language="javascript">
Event.observe('btn_test', 'click', test);
function test(){
alert("弹出消息!!!");
}
</script>
不过,我如果将function test(){}方法变成一个接受参数的方法,那么页面一载入就会执行test弹出消息的方法,而不是等着按钮被点击后执行test,不知道为什么会这样?
<html>
<head>
<title>测试</title>
<script type="text/javascript" src="prototype-1.5.1.2.js"></script>
</head>
<body>
请输入:<input type="text" name="birth" id="birth"/><br/>
<input id="btn_test" type="button" value="测试" />
</body>
</html>
<script type="text/javascript" language="javascript">
Event.observe('btn_test', 'click', test("弹出消息!!!"));
function test(msg){
alert(msg);
}
</script>
注:我用firefox运行,在错误控制台,看到了有如下的异常信息.
引用
错误: uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///C:/Documents%20and%20Settings/Administrator/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/prototype-1.5.1.2.js :: anonymous :: line 3014" data: no]
有哪位大虾能帮忙解答一下此问题?
分享到:
相关推荐
在本文中,我们将深入探讨 Prototype JavaScript 框架的1.6.0.3版本,通过其包含的文件来解析其核心概念和使用方法。 一、Prototype 的基本理念 Prototype 的核心理念是提供一套面向对象的编程工具,包括类、继承...
Prototype的事件处理机制使得添加和移除事件监听器变得简单,如`element.observe(eventName, callback)`用于添加事件监听,`element.stopObserving(eventName, callback)`用于移除。同时,`Event.stop(event)`方法...
- **事件处理**:它引入了事件委托的概念,`Event.observe`和`Event.stop`等方法提高了事件处理的效率和灵活性。 2. **文件详解**: - **CHANGELOG**:记录了版本间的更改和改进,是了解版本更新内容的重要文档。...
4. **事件处理**:Prototype 提供了一个事件处理系统,允许使用 `Event.observe()` 和 `Event.stopObserving()` 注册和取消事件监听器。它还改进了事件冒泡和事件对象的行为,使得跨浏览器的事件处理更加一致。 5. ...
4. **事件处理** - 库中的`Event.observe()`和`Event.stop()`等方法,让添加和处理事件监听器变得更为方便,同时还能阻止事件的默认行为。 5. **动画效果** - prototype.js 包含`Effect`模块,可以轻松实现平滑的...
`Event.observe`用于添加事件监听器,`Event.stop`可以阻止事件的默认行为,`Event.stopObserving`则用于移除事件监听。这些方法使得处理用户交互更加灵活。 5. **Ajax交互** Prototype 提供了强大的Ajax功能,如`...
`Event.observe()`和`Event.stopObserving()`用于添加和移除事件监听器,`Event.stop()`则用于阻止事件的默认行为。此外,还有`Element.simulate()`,它允许模拟触发指定的DOM事件。 ### 6. JSON支持 1.6版本增强...
Prototype.js提供了事件处理功能,如`Event.observe`用于添加事件监听器。例如,我们可以在窗口上添加拖动功能: ```javascript myWindow.observe('mousedown', function(event) { var x = event.clientX - ...
4. **事件处理**:Prototype改进了事件处理机制,引入了`Event.observe`和`Event.stop`等方法,提供了跨浏览器的事件监听和处理。 5. **Class系统**:Prototype引入了类的概念,通过`Class.create`可以创建自定义类...
Prototype改进了事件处理机制,提供了`Event.observe()`和`Event.stop()`等方法,使得事件监听和阻止默认行为变得更加直观。它还支持事件委托,通过在父元素上设置监听器来处理子元素的事件。 5. **JSON支持** ...
此外,`prototype`属性的使用也使得动态添加和修改对象方法成为可能,这是Prototype.js库的一大特色。 3. **元素选择与操作** Prototype.js 引入了 `$` 和 `$$` 函数,分别用于单个元素选择和多个元素选择,类似于...
6. **事件处理**:Prototype改进了事件处理,提供了`observe()`和`stopObserving()`来绑定和解绑事件,还有`Event.Methods`来处理事件。 其次,`prototype-160-api.pdf`是Prototype 1.6.0.2的API文档,详细阐述了...
Event.observe()方法用于添加事件监听器,而Event.stop()和Event.preventDefault()则可以阻止事件的默认行为。 5. **其他实用工具** 除了上述功能,Prototype还包含了一些实用工具,如Enumerable模块中的各种集合...
4. **事件处理**:Prototype简化了事件处理,通过`Event.observe`和`Event.stop`等方法可以轻松地绑定和处理事件。 5. **特效**:Prototype还提供了一些基本的动画效果,如`Effect`模块,可以实现淡入淡出、滑动等...
1. **入门指南**:介绍如何引入Prototype.js到项目中,以及基本的使用方法。 2. **核心概念**:阐述Prototype.js的核心思想,如DOM操作、Ajax和事件处理。 3. **API参考**:详尽列举了所有提供的函数和方法,以及...
`Event.observe()` 和 `Event.stopObserving()` 方法用于绑定和解绑事件,而 `Event.stop()` 可以阻止事件的默认行为。 6. **函数工具** Prototype 还提供了一些实用的函数工具,如 `Function.prototype.bind()` ...
- **事件处理**:使用 `Event.observe()` 和 `Event.stopObserving()` 注册和移除事件监听器,简化事件处理逻辑。 - **Ajax 请求**:`Ajax.Request` 和 `Ajax.Updater` 可以创建 AJAX 请求,处理响应并更新页面内容...
- 使用`Event.observe`方法观察事件。 ```javascript Event.observe(student, 'study', watchStudy, false); ``` 但是,在当前上下文中,`Event.observe`方法可能不起作用,因为`study`并不是DOM事件,而是...
2. **事件处理**:Prototype.js 改进了原生的事件处理机制,提供了一个更一致的跨浏览器的事件处理接口,如Event.observe()和Event.stop()。 3. **Ajax**:Ajax.Request和Ajax.Updater是Prototype.js中的核心Ajax类...