gpt4 book ai didi

javascript - div 点击事件在页面加载时自动触发

转载 作者:行者123 更新时间:2023-12-03 01:15:06 24 4
gpt4 key购买 nike

我想创建包含一系列内容的 html 页面(例如 div 有员工详细信息列表)。当用户单击 div 时,我想导航到另一个页面。请查看this .

问题是当我第一次加载页面时,div 的点击事件被触发。 如何避免在页面加载事件期间触发不必要的点击事件?

下面是我的html代码

<div data-bind="click: clickMe('ok1')">
<h1>Emplyee details</h1>
<p>This is test</p>
</div>

<div data-bind="click: clickMe('ok2')">
<h1>Emplyee details</h1>
<p>This is test</p>
</div>

var ViewModel = function(){
var self = this;
self.clickMe = function(url){
//This function is automatically getting called
//when page loads.
alert(url);
}
}
ko.applyBindings(new ViewModel());

问候,赫曼特

最佳答案

您需要将函数传递给点击处理程序,而不是点击函数的结果。

执行 clickMe() 会触发该方法并将结果返回给处理程序。

完成您想要的操作的一种方法是将函数调用包装在匿名函数中,如下所示:

function(){ clickMe('params'); } 

所以你得到:

<div data-bind="click: function(){ clickMe('ok1'); }">

或者,您可以在 clickMe 方法上使用 bind 函数来传递所需的参数:

clickMe.bind($data, "param1")

所以你得到:

<div data-bind="click: clickMe.bind($data, 'param1')">

关于javascript - div 点击事件在页面加载时自动触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20869572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com