如何取消调用链下游的其他 onclick 函数调用
How do I cancel other onclick function calls further down the call chain?
我有一个具有此onclick
属性的元素:
onclick="ieDisabledBtn(); widgetPayTotalDue.show();"
我已经添加了第一个函数,如果合适,我不想执行第二个函数。 我基本上需要为 IE 调整一些东西(通过使其只读来伪造禁用的按钮,但不使其可单击)。 我不能使用禁用的按钮,因为IE为禁用的按钮文本呈现灰色文本。 我不能使用禁用的按钮。
这是我为 IE 设置假禁用按钮的地方:
(function() {
var $disabled_btns = $('button[disabled]');
if ($disabled_btns && $.browser.msie) {
$disabled_btns.each(function() {
$(this)
.removeAttr('disabled')
.attr({
'readonly': 'readonly',
'disabledIE': true //set a flag, used in ieDisabledBtn()
})
.click(function() {
$(this)
.removeClass('ui-state-focus') //don't want this button style
.find('span').css({ //need to shift text so it stays in same position
'position': 'relative',
'top': '-1px;',
'left': '1px;'
});
return false;
}); //end click
}); //end each
} //end if
})();
这是我的ieDisabledBtn
函数:
function ieDisabledBtn(e) {
//we only care about IE
if ($.browser.msie){
var e = window.event,
btn = e.srcElement;
//yes, we're a disabled IE btn, stop any other onclick events bound to this btn from firing
if (btn.getAttribute('disabledIE')) {
e.returnValue = false;
e.cancelBubble = true;
return false;
}
}
}
我想肯定这只是设置e.returnValue = false
的问题,我已经经历了几个变化,但我仍然在执行第二个函数。
我错过了什么?
我将把这些按钮分布在这个应用程序中,它们调用不同的框架模态,所以我希望能够在这些onclick
前面加上一个新函数,这将阻止进一步的onclick
函数在适当的情况下执行。
如果 onclick 事件处理程序中有两个语句 ( ieDisabledBtn(); widgetPayTotalDue.show();
) ,它们都将被调用。 onclick 属性大致转换为:
function()
{
ieDisabledBtn();
widgetPayTotalDue.show();
}
因此,当您希望调用widgetPayTotalDue.show()
时,您需要ieDisabledBtn()
返回true
,这意味着:
function()
{
if(ieDisabledBtn())
{
widgetPayTotalDue.show();
}
}
或:
onclick="if(ieDisabledBtn()) widgetPayTotalDue.show()"
简单起见,最好只将一个函数绑定到事件,如果你能帮助它的话。 然后,您可以使该函数执行任何您喜欢的操作并保持其可读性。
相关文章:
- 在Jquery调用之间添加其他函数
- 这个关键字位于$.ajax()中,用于调用其他函数来设置url
- 调用geocomplete中的其他函数
- 如何在Javascript中创建一个调用其他函数的函数
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- 当其他函数调用Javascript时运行我的代码
- 如何取消调用链下游的其他 onclick 函数调用
- 一个 JavaScript 函数调用其他几个函数
- 从其他模板相关函数调用帮助程序函数
- JavaScript 加载其他脚本 - 调用函数 - 未定义
- 煎茶架构师 从其他函数调用函数
- 如何从其他 jsp 调用方法/函数以包含在另一个 jsp 的 jstree 中
- 发送请求以从其他服务器调用函数
- 使用此函数在回调中调用其他函数
- 从javascript中的其他命名函数调用命名函数
- 订阅和取消订阅包含对其他函数的调用的函数
- 等待函数完成对其他函数的调用
- 我可以使用按钮来调用函数,但不能从搜索设置的if语句中调用,但可以调用任何其他函数
- Node.js从其他函数调用函数不工作
- 存根函数在被其他函数调用时没有返回正确的值