我打算将自定义处理程序附加到WebDropDown的“DropDownClosing”事件中。
我尝试了下面的样本。
$IG.WebDropDown.prototype = {
openDropDown: function () { alert(1); }
}
但它在被DOM解析时抛出错误(Uncaught ReferenceError:$ IG未定义)。
有趣的是,下面的一个有效,但它会显示警报并跳过所有其他本机功能。 (例如警告下拉列表未打开)
$IG.WebDropDown.prototype.openDropDown = function () { alert(1); }
目标是,我的应用程序中的所有webdropdown都应该使用我的客户功能,我想在一个地方配置它,而不是为每个webdropdown添加“DropDownClosing”客户端事件。
在infragistics中扩展控件事件的正确方法是什么。
答案 0 :(得分:0)
您可以对页面上的所有WebDropDowns
使用相同的客户端事件处理程序,但您仍然必须告诉每个人订阅此处理程序并使用它:
<ig:WebDropDown ID="myDropDown1" runat="server">
<ClientEvents DropDownClosing="dropDownClosing" />
</ig:WebDropDown>
<ig:WebDropDown ID="myDropDown2" runat="server">
<ClientEvents DropDownClosing="dropDownClosing" />
</ig:WebDropDown>
<script type="text/javascript">
function dropDownClosing(sender, eventArgs) {
alert(1);
}
</script>
您尝试过的是覆盖WebDropDown
openDropDown
客户端方法。这将覆盖控件的打开功能,因此下拉不会打开,除非您自己重新实现功能,或使用对原始实现的缓存引用。这与附加事件处理程序不同。