如何处理Div中文本上的剪贴?

2024-06-07 05:39:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个bokeh服务器应用程序。 我有一个文本Div元素和一些单词。在

如果我点击其中一个,我想触发一个动作(画一个图表),比方说。 我可以添加一个超链接,这样Div的内容将是


<a href="something">abc</a>
<a href="somethingElse">defgh</a>

如何从那里调用回调python/bokeh函数?


Tags: 函数文本div元素内容图表bokeh单词
1条回答
网友
1楼 · 发布于 2024-06-07 05:39:36

Python是一种服务器端语言。 你不能用JS直接编写服务器端语言(动态的事情,比如响应点击而不重新加载页面是用javascript完成的),你可以做的是调用服务器,要求它绘制图表,然后将服务器返回的html添加到DOM中。(还有其他方法可以做到这一点,您可以转到另一个绘制图形的页面,但问题已经被标记为“javascript”)。 例如:

<a href="something">abc</a> <a href="somethingElse">defgh</a>
<div id="mygraph"></div>
<script>
// Here you bind an event on <a href="something">abc</a>
document.querySelector('a[href="something"]')
   .addEventListener("click", function(e) {
       e.preventDefault();
       // Here you create a request
       var xhr = new XMLHttpRequest();
       xhr.open('GET', "http://my-url-which-display-my-graph.dev");
       xhr.addEventListener('readystatechange', function() {
       // This callback is called when the request's state change
           if (xhr.readyState === 4 && xhr.status === 200) {
           // You enter in this condition if the request is done and successfull

               document.getElementById('mygraph').innerHTML = xhr.responseText;
           }
    });
});
xhr.send();
</script>

这段代码还没有经过测试,只是作为示例提供的。在

对于bokeh来说,似乎您有一个客户端库:

https://docs.bokeh.org/en/latest/docs/user_guide/bokehjs.html

(我不知道博凯,但我会尽力回答):

^{pr2}$

这段代码还没有经过测试,只是作为示例提供的。在

有很多方法可以做到这一点,您可以先绘制图表,然后使用JS+CSS隐藏/显示它。这取决于你想达到什么目标。 如果不想使用客户端库,可以将用户重定向到绘制图表的另一页。在

如果您是javascript新手,我建议您使用jQuery这样的库来实现简单的操作。在

相关问题 更多 >