按钮单击不会触发
button click won't fire
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" />
<div id="div1">Click here</div>
</div>
</form>
<script type="text/javascript">
var $ = function(e) { return document.getElementById(e); };
var pageDefault = {
btn1: $('Button1'),
testfx: function() {
alert('test');
},
init: function() {
this.btn1.onclick = function() {
this.testfx();
return false;
}
}
}
pageDefault.init();
</script>
</body>
为什么按钮 1 点击事件不会触发?
您可能需要
使用 $('<%= Button1.ClientID %>')
而不是 $('Button1')
。有关更多详细信息,请参阅此文章。
其他答案中提到的另一个问题是,事件处理程序指的是window
this
。要解决此问题,您可以通过以下方式重写处理程序:
this.btn1.onclick = function() {
pageDefault.testfx();
return false;
}
this
在代码的那部分不在同一范围内。
试试这个
init: function() {
that = this // create's a that variable which refers to the current scope
this.btn1.onclick = function() {
that.testfx(); // this now points to the scope of pageDefault
// Same as doing pageDefault.testfx();
return false;
}
演示
因为this.testfx();
中的this
不是pageDefault.testfx()
Button1.testfx()
它应该是
this.btn1.onclick = function() {
pageDefault.testfx();
return false;
}
我认为
因为 BTN1 是一个 jQuery object.so 请使用这个 instade:
init: function() {
this.btn1.click(function() {
this.testfx();
return false;
});
}
相关文章:
- 单击按钮以等待单击按钮
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 当值更改时,在servlet中自动获取textarea值,无需单击按钮
- 单击按钮时循环浏览匹配的表
- 单击按钮后启动javascript提示
- 单击按钮时在灯箱中显示不同的内容
- 单击按钮时加载数据
- 如何在不需要单击按钮的情况下获取选项的值
- 单击按钮时显示随机字符串
- 在单击按钮前后禁用提交按钮
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 单击按钮时Div Increment
- 若单击按钮,则更改Javascript中的变量
- 单击按钮更改加载到表中的JSON文件
- 如何在单击按钮时显示2行1列的表格
- 单击按钮前运行事件
- 如何删除父表行时;删除“;在React JS中单击按钮
- 如何创建一个表并在单击按钮时插入此标签和文本字段
- JavaScript-onClick将按钮ID或单击按钮的文本传递给函数
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区