Javascript 从按钮到函数的事件

Javascript event from button to function

所以我有这个按钮:

<div class="btndiv" style="margin-top:4vh;">
<button class="btngaleria" onclick="capturePhoto()" style="margin-top:3vh; background-color: #5f919d;"> Camâra </button> 
<button class="btngaleria" onclick="getPhoto()" style="margin-top:3vh; background-color: #5f919d;"> Galeria </button>
<div style="text-align:center;margin:20px;">
<img id="cameraPic" src="" style="width:auto;height:120px;"></img>
</div>
<button class="btngaleria" onclick="photoUpload()" style="margin-top:3vh; background-color: #5f919d;"> Enviar </button> 

</div>

我有这个功能,当我点击每个按钮时就会执行:

function capturePhoto(){
                    navigator.camera.getPicture(picOnSuccess, picOnFailure, { 
                        destinationType: Camera.DestinationType.FILE_URI,
                        sourceType: navigator.camera.PictureSourceType.CAMERA,
                        correctOrientation: true
                    });
                }

                function getPhoto(){
                    navigator.camera.getPicture(picOnSuccess, picOnFailure, { 
                        destinationType: Camera.DestinationType.FILE_URI,
                        sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
                        correctOrientation: true
                    });
                }

function photoUpload() {
                    var options = new FileUploadOptions();
                    options.fileKey = "file";
                    options.fileName = sPicData.substr(sPicData.lastIndexOf('/') + 1);
                    options.mimeType = "image/jpeg";
                    options.chunkedMode = false;

                    var params = new Object();
                    params.sitio = id;
                    options.params = params;

                    ft = new FileTransfer();
                    ft.upload(sPicData, "http://pedrofidalgo.pt/bilapoint/upload.php", win, fail, options); 
                }

                function win(){
                    alert("Foto enviada com sucesso, obrigado!");
                }

                function fail(){
                    alert("O envio da foto falhou, tente de novo.");
                } 

我正在使用 framework7,所以我不能在按钮上使用事件绑定,我必须将它们放在 js 端,像这样:

$$('#buttonClass').on('click', function (e) {
    myApp.alert('Clicked registerButton!');
});

我已经从 framework7 文档中阅读了有关事件处理程序和操作的信息 sheet,但我仍然无法让它工作...

https://framework7.io/docs/action-sheet.html

我是 javascript 的初学者,有人可以帮我吗?

提前致谢:)

你用错了,你应该把它绑定到可以监听点击的东西上,然后检查它是否在你想要的东西上。例如:

$('body').on('click', '#buttonClass', function(){
    // do something
});

我不知道 framework7,但如果它是单页应用程序,请不要将内容绑定到 body,因为它会留在那儿,除非你打算在某个时候取消绑定或清理它们。

您可以将 id="" 添加到 html 元素:

<a href="#" id="mybutton" class="button">MYBUTTON</a>

在 js 中(不要忘记 #):

$$('#mybutton').on('click', function (e) {
    console.log("mybutton clicked");
});