添加onclick失败
Javascript add onclick unsuccessful
My Script:
function $(attr){
if(attr.charAt(0) == "#"){
return document.getElementById(attr.substr(1));
}else{
if(attr.charAt(0) == "."){
return document.getElementsByClassName(attr.substr(1));
}else{
return document.getElementsByTagName(attr);
}
}
}
Object.prototype.onclick = function(script){
this.onclick = script;
}
$("#hi").onclick(function(){alert("hi");});
在html中它只是一个id为hi
的标签。
当我点击按钮时,什么也没发生。我该怎么办?
扩展Object
是不好的做法,我不推荐它。同样,在现代浏览器中,您想要做的事情相当容易,您可以使用querySelectorAll,并使用addEventListener:
// An IIFE (Immediately Invoked Function Expression)
var $ = (function() {
// Constructor
function $(selector) {
// querySelectorAll returns a pseudo-array
this.el = toArray(document.querySelectorAll(selector));
}
// Get elements as array or an element by index
$.prototype.get = function(i) {
return i == null ? this.el : this.el[i];
};
// Public method to add any event
$.prototype.on = function(event, f) {
this.el.forEach(function(el) {
el.addEventListener(event, f);
});
// chain
return this;
};
// shortcut for click event
$.prototype.click = function(f) {
return this.on('click', f);
};
// Coverts pseudo-arrays to real arrays
function toArray(x) {
return Array.prototype.slice.call(x);
}
// Wrapper to create instances
// without using the "new" keyword
return function(x) {
return new $(x);
}
}());
$('#hi').click(function(){alert('hi')});
小提琴
$("#hi").onclick=function(){alert("hi");}
你可以不加修饰
<script type="text/javascript">
function $(attr){
if(attr.charAt(0) == "#"){
return document.getElementById(attr.substr(1));
}else{
if(attr.charAt(0) == "."){
return document.getElementsByClassName(attr.substr(1));
}else{
return document.getElementsByTagName(attr);
}
}
}
$("#hi").onclick = function(){alert("hi");};
</script>
这里有一个jsfiddlehttp://jsfiddle.net/Icepickle/29NYx/
我的朋友在浏览器加载页面后使用Inspect Element检查ID
我猜你正在使用ASP。. NET与MasterPage和#hi元素在contentPlaceHolder中。如果我的猜测是正确的,那么你的元素#hi必须改变为ContentPlaceHolder1_hi。因此,请根据此更改您的脚本。
$('#ContentPlaceHolder1_hi').click(function(){alert('hi')});
相关文章:
- 如何在执行此特定onclick事件时执行JavaScript函数
- Setting default onclick behavior for <img> tag in gene
- Javascript全局onclick监听器
- 如何调用“;链接_;在onclick事件上使用Javascript
- onclick函数需要双击,因为类分配延迟
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 如何使用onclick事件触发此代码.我尝试过,但失败了
- onclick() 在加载时自动触发,但之后失败
- 重新加载后,onclick 事件失败
- JSF验证失败时禁用javascript onclick
- 使用 jQuery 以编程方式添加 OnClick 失败
- “onclick”属性内的属性访问失败
- Javascript onclick函数调用失败
- 简单的脚本与onclick事件在Chrome工作良好,但在Firefox失败
- 函数内部的Onclick失败
- 使用Jquery向图像添加onClick失败
- 从同一个onclick失败调用两个函数
- 添加onclick失败
- 如果onclick验证失败,停止脚本
- javascript验证失败后保留表单值onclick