javascript - 我怎样才能把这个javascript变成一个函数?它已经是一个函数了吗?关于js结构的几个很基础的问题

标签 javascript jquery function

我正在学习 javascript,并且正在尝试调整以下内容:

$('#myform').change(function() {
    if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
        $('#sv_I5').removeClass('hidden');
    } else {
        $('#sv_I5').addClass('hidden');
    }
});

成为一个具有名称的函数,我可以在不同的事件(例如页面加载等)上调用它。

我还没有完全理解每个元素,但我知道:

    if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
        $('#sv_I5').removeClass('hidden');
    } else {
        $('#sv_I5').addClass('hidden');
    }

是函数的核心“逻辑”:if (condition) {then this} else {that}

并或多或少地了解那里正在发生的事情。留下边界 javascript(还有比这更好的术语吗?):

$('#myform').change(function() {...});

我的问题(以下是否正确等):

  • 我认为美元表示它是jQuery
  • 显然我的表格的ID 将脚本与该形式(命名空间?)内的事件相关
  • .change似乎是一个触发器,它可以监听……任何正在发生的变化 在#myform?所以每次在#myform this 中发生变化 运行?这似乎效率低下
  • function() 我还不明白是什么 匿名函数或空函数只是定义包含的内容 在 {} 中作为函数?

我的目标:能够拥有类似的东西

function myfunction()
{
if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
        $('#sv_I5').removeClass('hidden');
    } else {
        $('#sv_I5').addClass('hidden');
    }
}

然后

$(function() {myfunction});

所以我可以在页面加载时调用该函数,但我不想失去 .change 语法为我提供的功能(它也会随着用户与页面上的元素交互而改变。

为普遍和繁琐的无知水平道歉

最佳答案

你猜对了如何正确定义函数——也就是说,

function myfunction()
{
if ($('#sv_I4b').attr('checked')||$('#sv_I4c').attr('checked')){
        $('#sv_I5').removeClass('hidden');
    } else {
        $('#sv_I5').addClass('hidden');
    }
}

工作正常。然而,这:

$(function() {myfunction});

应该写成:

$(myfunction);  // Run on page load.
$('#myform').change(myfunction);  // ...and also run it when the form changes.

但是,除非表单在脚本运行时存在,否则第二行在页面加载之前不会真正起作用,因此您可能希望将其更改为:

$(function() {  // On page load, run this anonymous function:
    myfunction();  // Run the function now (where now, at this point, is page load).
    $('#myform').change(myfunction);  // ...as well as when the form changes.
});

关于javascript - 我怎样才能把这个javascript变成一个函数?它已经是一个函数了吗?关于js结构的几个很基础的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13521856/

相关文章:

swift - 从 Swift 中的函数中的字典返回值

javascript - 尝试使用 shell tr​​ue 和 detached true nodejs 来终止生成进程

javascript - 为什么表单上的提交按钮不起作用?

php - jQuery 从 JSON 字符串创建 HTML

jquery - 如何编辑外域iframe的内容?

c - 使用过程为变量赋值

JavaScript 来自 Stoyan Stefanov 面向对象 JavaScript 的第 195 页

javascript - 如何让 TripAdvisor 小部件在 WordPress 页面上的其他所有内容之后加载

javascript - 如何分别设置占位符样式和输入文本数据方向?其中一个 RTL 另一个 LTR

python - 如何使用函数更改全局变量