javascript取消匿名点击功能

标签 javascript jquery onclick anonymous-function

这里是非常基本的东西。我想给点击函数一个名称并为其分配一些参数。目标是代码的可重用性,这样我就可以只为常见任务编写一个通用函数,例如使用户能够删除各种数据。

这是一个 jsfiddle向您展示我的意思。

这是代码:

HTML:

<button>delete this</button>
<div data-id="3" class="delete">something bad</div>
<div data-id="4" class="delete">something else bad</div>

和 JS:

// this function would be loaded on my site's template and therefore would be available across my entire site.
function deleteThis(data_id){           
   $('button').on('click', 'button', function(){
      $('div[data-id="'+data_id+'"]').hide();  
   });
}  

var clicked_id=3;
function deleteThis(clicked_id); 
// this function would be called on the various pages where users can delete things and this variable, clicked_id, would be assigned=3 by the user's action on that page.

如何给这个按钮点击事件命名?

更新 谢谢大家! $('button') 应该是 $(document.body) 或按钮的父元素。如果您进行简单的更改,它就会起作用。您也可以按照 Michael Buen 下面的建议进行操作。

最佳答案

只需重构您的代码,将删除功能放在它自己的函数中

<button>delete this</button>
<div data-id="3" class="delete">something bad</div>
<div data-id="4" class="delete">something else bad</div>
​

$('button').on('click', function() { deleteImmediately(3) });

function deleteImmediately(id) { -- refactored code
    $('div[data-id='+id+']').hide();  
}​

现场测试:http://jsfiddle.net/e2kuj/2/

关于javascript取消匿名点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10238453/

相关文章:

javascript - 更新浏览器滚动上的进度条状态

javascript - 卡夫卡 : Reading off __consumer_offsets with node-rdkafka

jquery - Controller 中 Ajax Action 方法的授权属性

javascript - Jquery自动完成数据显示标签和商店ID

java - 更新对应于数据库行的 ListView 行中的 CheckBox

javascript - 使用 ul li 的 onclick 事件来触发函数

javascript - onclick 复选框将复选框值附加到 URL

javascript - 通过自定义 JS 访问 Construct 2 生成的 JavaScript

javascript - 链式 promise 会给出未定义的函数错误,但我可以单独执行这些函数

javascript - 使用 javascript 或 jquery 计算对象中 JSON 对象的数量