我想使用jQuery禁用javascript函数(dialogs()
)。
我的想法是:
"<span class = 'auto'>" + dialogs(i,0); + "</span>"
如果选中该复选框,请执行:(此if
语句位于$(document).ready(function(){
)
if ($("#autodialog").is(":checked")) {
$(".auto").remove(); }
但这似乎没有用。
有什么想法吗?
答案 0 :(得分:4)
使dialogs
方法处理额外参数isEnabled
,一个布尔数据类型。
function dialogs(i,0,isEnabled) {
if(isEnabled) {
//Todos
}
}
然后让它看起来像这样
if ($("#autodialog").is(":checked")) {
dialogs('i',0,false); //I'm not sure about the values of parameter i
}
因此不需要使用span
标记作为包装。
希望你明白。
答案 1 :(得分:1)
更多的上下文会有所帮助(你有一个我们可以看到的jsfiddle吗?)
我认为你可能会混淆Javascript函数和函数返回的值。您是否尝试删除dialogs()函数生成的HTML字符串,或者您是否尝试删除实际的对话框函数本身?
如果要禁用对话框功能:
<script>
function getDialogs(a,b) {
// ...
}
var dialogs = getDialogs; // Make dialogs refer to getDialogs
</script>
在其他地方,你会有类似的东西:
<script>
if ( $("#autodialog").is(":checked") ) {
dialogs = function __noop__() {};
} else {
dialogs = getDialogs;
}
</script>
答案 2 :(得分:0)
您必须在复选框
中添加点击处理程序 $("#autodialog").click(function(){
if ($(this).is(":checked")) {
dialogs(i,no,false); }
else
dialogs(i,no,true);
});
function dialogs(i,no,flag){
if(!flag)
{event.preventDefault();return flag;}
else{
......//your working code}
}