在IE8和IE7(Telerik radgrid)中以错误的顺序触发javascript事件
javascript events fired in wrong order in IE8 and IE7 (Telerik radgrid)
我使用的是telerik radgrid,并连接了许多方法,如下所示。
在firefox、chrome和IE9中,事件按以下顺序启动:
RowClick
RowSelecting
RowSelected
在IE8和IE7中,事件按以下顺序启动:
RowSelecting
RowSelected
RowClick
有没有办法对IE8和IE7中的事件进行重新排序?
var originalClickedRowState = null;
var clickedRow = null;
function rgGrid_OnRowCreating(sender, args) {}
function rgGrid_OnRowCreated(sender, args) {}
function rgGrid_OnRowClick(sender, args) {
clickedRow = args.get_gridDataItem();
originalClickedRowState = args.get_gridDataItem().get_selected();
}
function rgGrid_OnRowDeselecting(sender, args) {
if (clickedRow != null && clickedRow != args.get_gridDataItem()) {
args.set_cancel(true);
}
}
function rgGrid_OnRowSelecting(sender, args) {
if (clickedRow == args.get_gridDataItem() && originalClickedRowState) {
args.set_cancel(true);
originalClickedRowState = null;
clickedRow = null;
}
}
function rgGrid_OnRowSelected(sender, args) {
originalClickedRowState = null;
clickedRow = null;
}
我在雷达栅格中连接了这些方法
<ClientSettings >
<Selecting AllowRowSelect="True" />
<ClientEvents
OnRowCreated="rgGrid_OnRowCreated"
OnRowCreating="rgGrid_OnRowCreating"
OnRowClick="rgGrid_OnRowClick"
OnRowDeselecting="rgGrid_OnRowDeselecting"
OnRowDeselected="RowDeselected"
OnRowSelecting="rgGrid_OnRowSelecting"
OnRowSelected="rgGrid_OnRowSelected" />
<Scrolling AllowScroll="True" />
</ClientSettings>
编辑:我已经编辑了这个问题,以显示我正在使用的代码。我的事件在radgrids事件之前被调用。我需要事件以正确的顺序激发,因为在确定是否应该取消选择任何其他行之前,我需要得到选择了哪一行。
我从telerik上的这个论坛帖子中得到了代码,我对telerik的了解不够,无法重写代码,我必须在IE8和IE7中工作。
应用程序中不应该依赖事件顺序。
看看这个:http://www.quirksmode.org/js/events_order.html
相关文章:
- Javascript执行顺序错误
- 带有 CommonsChunkPlugin 的 Webpack 会导致 html 文件中的捆绑顺序错误
- ES6模块初始化顺序错误
- 在Firefox中的keydown事件中隐藏元素时焦点顺序错误
- 使用 JS 填充 HTML 表,数据顺序错误
- JavaScript 排序顺序错误
- ReactJS:Dom 渲染顺序错误
- kafka节点的消息顺序错误
- 角度指令后链接顺序错误(1.3)
- 循环运行顺序错误的Javascript
- AJAX调用顺序错误(异步)javascript
- node.js(谷歌日历api,mongojs)中循环的顺序错误
- Angular2-NgFor内部树模型:删除然后添加元素时顺序错误
- 数组填充顺序错误
- ASP.. Net MVC jQuery和插件加载顺序错误
- 在wordpress子主题中排队脚本顺序错误
- Var和function的工作顺序错误
- 使用LABjs的执行顺序错误
- 函数执行顺序错误
- Cookie和模态发送报头顺序错误