<强>短说明:

我有了在脚本文件正在处理的单击事件的脚本控制。单击处理程序会弹出一个提示窗口,并返回提示的值。

<强>问题:

IE看到返回FALSE(取消在确认框被选中)并且没有回发。火狐忽略此并触发回发。

<强>解决方案:吗

我看了,如果我是这样做旧时尚的方式,我需要有:

onClick="return SomeMethod();"

在的标记。希望有一种方式与脚本控制,以做到这一点?

示例:

这就是我必须在脚本文件:

//THIS IS THE METHOD CLICK CALLS
handleLnkDeleteButtonClick: function(e)
{
    var confirmed = confirm('This will delete the current Message category and move all messages to the Oprhan cataegory.  Continue?');
    return confirmed;
},

initialize: function()
{
    this._lnkDeleteButton = $get(this._lnkDeleteButtonID);
    this._lnkDeleteButton.idpicker = this;

    //HOOK BEGINS HERE
    this._lnkDeleteButtonClick = Function.createDelegate(this, this.handleLnkDeleteButtonClick);
    $addHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
    //END HOOK HERE

    NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'initialize');
},

dispose: function()
{
    $removeHandler(this._lnkDeleteButton, "click", this._lnkDeleteButtonClick);
    NDI.WebControls.Client.PersonalMessageTypePicker.callBaseMethod(this, 'dispose');
}
有帮助吗?

解决方案

好了,所以后约了太多时间试图短语正确的事情为谷歌解决它自己。原来有打电话,让你不必担心返回true或false的方法。

handleLnkDeleteButtonClick: function(e)
{
    var confirmed = confirm('This will delete the currery Message category and move all messages to the Oprhan cataegory.  Allow?');
    if (!confirmed)
    {
        e.preventDefault();
    }
},

因此而不是返回证实,我只是必须检查它的值并调用e.preventDefault方法从射击停止点击。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top