私はtelerik radgridを使用しています。 Firefoxの、クロムとIE9のイベント火災の際IE8とIE7(Telerik radgrid)でJavascriptイベントが間違った順序で実行されました
次の順序で:IE8とIE7で
RowClick
RowSelecting
RowSelected
イベントは次の順序で発射されています
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;
}
私はradgridでこれらのメソッドをアップ配線
<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のこのフォーラムの投稿からコードを得ました。私はIE8とIE7で動作するコードを書き直すためにtelerikについて十分に知っていません。
正解! –
あなたは正しい答えは正しいが、質問を解決しない。 – skyfoot