繁体   English   中英

触发此功能onClick

[英]Firing this function onClick

我有这个代码:问题是:我该如何触发onClick这个代码?

JS:

 $("input[type=radio],button").each(function () {
        var outputName = $(this).attr("data-midioutput");
        if (outputName) {
            var output = MidiUtil.getOutput(outputName);
            if (output) {
                var outputName = $(this).attr("data-midioutput");
                var midiChannel = $(this).attr("data-midichannel");
                if (!midiChannel)
                    midiChannel = 0;

                var cc = $(this).attr("data-midicc");
                var midiValue = $(this).attr("data-midivalue");

                if (outputName && cc) {
                    var output = MidiUtil.getOutput(outputName);
                    if (output) {

                        if ($(this).attr("type") == "number") {
                            this.oninput = function () {
                                    output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), $(this).val()]);

                            };
                            //Send initial value
                                output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), $(this).val()]);
                        }
                        else { //button
                            this.onclick = function () {
                                    output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), parseInt(midiValue, 10)]);
                            };
                        }

                    }
                    else {

                    }
                }
            }

        }
        else {

        }

    });   

诸如此类的按钮会自动触发:HTML:

<button class="1" data-midicc="19" data-midivalue="0" data-midichannel="00" data-midioutput="IAC 1" /> 

问题是:

我该如何触发此代码onClick? 谢谢!

只需将“ Jquery-each”语句更改为click事件绑定即可。

$("input[type=radio],button").on('click',function () {
        var outputName = $(this).attr("data-midioutput");
        if (outputName) {
            var output = MidiUtil.getOutput(outputName);
            if (output) {
                var outputName = $(this).attr("data-midioutput");
                var midiChannel = $(this).attr("data-midichannel");
                if (!midiChannel)
                    midiChannel = 0;

                var cc = $(this).attr("data-midicc");
                var midiValue = $(this).attr("data-midivalue");

                if (outputName && cc) {
                    var output = MidiUtil.getOutput(outputName);
                    if (output) {

                        if ($(this).attr("type") == "number") {
                            this.oninput = function () {
                                    output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), $(this).val()]);

                            };
                            //Send initial value
                                output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), $(this).val()]);
                        }
                        else { //button
                            this.onclick = function () {
                                    output.send([MidiUtil.eventTypes.MIDI_CC_CH1 + parseInt(midiChannel, 10), parseInt(cc, 10), parseInt(midiValue, 10)]);
                            };
                        }

                    }
                    else {

                    }
                }
            }

        }
        else {

        }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM