javascript - 如何使应用程序中的所有按钮(甚至是动态创建的)都遵循 jquery 按钮小部件,而无需多次调用 .button()

标签 javascript jquery asp.net-mvc jquery-ui jquery-ui-button

我是堆栈溢出新手,这是我的第一个问题。请原谅我的任何错误。 这个问题比较笼统,但我试图寻找答案但找不到。

假设我有一个页面,并且我正在为所有按钮使用 jquery ui button() 小部件。发生的情况是我为页面上的所有按钮定义了一个特定的类。所以我可以指定 $('.myButtonClass').button();但每当我再次渲染具有按钮的部分 View 时,我必须在部分 View 中执行相同的操作。有什么方法可以全局指定按钮或任何元素的转换。

这是一个示例 Fiddle,它在单击时添加按钮。但添加的按钮不是作为按钮小部件的过渡(我不想使用克隆)。

http://jsfiddle.net/wjxn8/

$('.clsTest').button().click(function(){
    $(this).after('<input type="button" value="Added" class="clsTest"/>');
});

这是否可能没有:- 1) 为创建的所有按钮手动添加按钮小部件的 css 类。 2) 使用 Javascript 跟踪 DOM 更改并为所有按钮元素执行转换。

感谢您的帮助!!!

最佳答案

既然您正在寻找其他东西,为什么不在加载部分或其他内容时触发自定义事件:

$('.clsTest').button().click(function(){
    $(this).after('<input type="button" value="Added" class="clsTest"/>').trigger('addButtonUI');
});
$(document).bind('addButtonUI',function(){
    $('.clsTest').button();
});

http://jsfiddle.net/wJXN8/3/

如果您触发事件并让文档监听它,那么您就可以做任何您想做的事情。我本可以在那里添加添加更多按钮的功能,但这应该能说明问题。

您所要求的,是添加按钮时发生的一些事件......您需要自己想出该事件,并在添加按钮时触发它。有这个:How to detect new element creation in jQuery?它讨论了将新元素添加到 DOM 时触发的特定事件。没测试过,IE 上好像不行。

关于javascript - 如何使应用程序中的所有按钮(甚至是动态创建的)都遵循 jquery 按钮小部件,而无需多次调用 .button(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15984068/

相关文章:

asp.net-mvc - ASP.Net MVC、动态属性和 EditorFor/LabelFor

javascript - 注册模态限制

javascript - 是否有任何自动化脚本可以让我们快速验证标签?

javascript - 如何浏览图片并在浏览器中显示?

jquery - 底部三 Angular 形的双边框 + 完整动画

html - asp.net mvc,在导航栏中显示用户名

javascript - javascript中文件名的分割

javascript - chrome扩展获取生成输入的值

Jquery:将一个类添加到奇数列表元素

连接到 MVC Controller 时 JavaScript POST 失败