javascript - 将用户 HTML 输入作为 javascript 函数参数传递

标签 javascript html function arguments substitution

我有这行 JavaScript:

stave.addClef("treble").addTimeSignature("4/4");

根据用户在 HTML 文档中输入的内容,我想将“4/4”更改为“3/4”,或用户输入的任何其他分数。进行这种条件替换的最简单方法是什么?

谢谢, 纳库尔

最佳答案

这是一个允许用户上下切换数字输入的选项:

<input type="number" id="fraction-1"/>
<input type="number" id="fraction-2"/>

Current Signature:
<div id="current-sig"></div>

然后在你的 JavaScript 中...


// Get the select form element
const FRACT_1 = 'fract-1'
const FRACT_2 = 'fract-2'
const fract1 = document.querySelector(`#${FRACT_1}`)
const fract2 = document.querySelector(`#${FRACT_2}`)
const currentSigDiv = document.querySelector('#current-sig')

let currentSignature = '4/4'

const changeSignatureByFraction = ({target}) => {
    if(target.id === FRACT_1)) {
        currentSignature = `${target.value}${currentSignature.substring(1)}`
        stave.addClef("treble").addTimeSignature(currentSignature)
        currentSigDiv.innerHTML = currentSignature
    } else {
        currentSignature = `${currentSignature.slice(0, -1)}${target.value}`
        stave.addClef("treble").addTimeSignature(currentSignature)
        currentSigDiv.innerHTML = currentSignature
    }

}

// Listen for a change event
fract1.addEventListener('change', changeSignatureByFraction)
fract2.addEventListener('change', changeSignatureByFraction)

currentSigDiv.innerHTML = currentSignature

关于javascript - 将用户 HTML 输入作为 javascript 函数参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58176472/

相关文章:

javascript - DataTables - 使用 CHROME 时排序结果无效

javascript - 我如何在 ReactJS 的 ComponentDidMount 中使用 {useState}

Javascript 函数不在加载时获取数据

采用可变数量参数的 Javascript 函数 - 更改它们的值 - 然后返回它们

c++ - 类成员函数的堆栈,但该类尚不清楚

javascript - Angular UI TimePicker 无法正常工作

javascript - 创建一个带自动移动的旋转木马 - 一直使用时间/暂停的问题

javascript - 联锁项目的下拉级联

html - 如何缩放 div 以适应 Iframe

c++ - 在函数调用中定义一个匿名结构