使用“pys-onClick=...”从按钮单击调用 py-script 函数不起作用?

2023-12-11

我对 PyScript 比较陌生,希望在单击按钮时运行一个函数。 但是,无论我尝试什么代码,它似乎都不起作用。该按钮是可点击的,但似乎没有执行任何操作。 当我手动调用该函数(在 py-script 标记内)时,它工作正常。 我错过了什么吗?

这是我的代码,感谢您的帮助:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <title>Test</title>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>

  <body>
    
    <button id="test" type="button" pys-onClick="speak">run test</button>

<py-script>

def speak():
    print("hello")

</py-script>


  </body>
</html>

随着 PyScript 的发展,PyScript 中的某些东西正在不断变化。关于您的代码的一些事情。首先,在较新的版本(包括您在此处使用的“最新”)中,pys-onClick 已被弃用,取而代之的是 py-onClick。其次,要从按钮元素调用该函数,语法当前应为 py-onClick="function()" (pys-onClick="function" 在早期版本中确实有效)。最后,我愿意在这里纠正,Python 代码中的“打印”方法会打印到控制台(如果打开开发人员工具,每次调用该函数时都会看到它打印到控制台)。如果您希望文本出现在页面上,则需要写入 DOM。如果我正确理解您的意图,这段代码将为您提供您正在寻找的结果。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <title>Test</title>
    <link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
    <script defer src="https://pyscript.net/latest/pyscript.js"></script>
  </head>

  <body>
    
    <button id="test" type="button" py-onClick="speak()">run test</button>
    <div id="display"></div>

<py-script>

def speak():
    Element('display').write("Hello")

</py-script>


  </body>
</html>

请记住,随着 PyScript 的发展,随着开发人员和维护人员完善框架,这种语法可能不适用于未来的版本。不幸的是,PyScript 的文档还不是很多。如果您想探索,可以在以下位置找到相关文档:https://docs.pyscript.net/latest/。目前,您最好的指导是查看以下示例https://pyscript.net/examples。干杯!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用“pys-onClick=...”从按钮单击调用 py-script 函数不起作用? 的相关文章

随机推荐