我想dialogs()使用 jQuery 禁用 javascript 函数 ()。
我想做的是:
- 将函数包装在一个跨度中:
"<span class = 'auto'>" + dialogs(i,0); + "</span>" 如果复选框被选中,执行:(此
if语句在$(document).ready(function(){)if ($("#autodialog").is(":checked")) { $(".auto").remove(); }
但这似乎不起作用。
有什么想法吗?
我想dialogs()使用 jQuery 禁用 javascript 函数 ()。
我想做的是:
"<span class = 'auto'>" + dialogs(i,0); + "</span>"如果复选框被选中,执行:(此if语句在$(document).ready(function(){)
if ($("#autodialog").is(":checked")) {
$(".auto").remove(); }
但这似乎不起作用。
有什么想法吗?
让你的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标签作为包装器。
希望你能理解。
多一点上下文会有所帮助(你有我们可以看到的 jsfiddle 吗?)
我认为您可能会混淆 Javascript 函数和函数返回的值。您是要删除 dialogs() 函数生成的 HTML 字符串,还是要删除实际的 dialogs 函数本身?
如果要禁用对话框功能:
<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>
您必须在复选框中添加一个点击处理程序
$("#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}
}