Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
良好实践,javascript块_Javascript_Jquery_Ajax_Playframework - Fatal编程技术网

良好实践,javascript块

良好实践,javascript块,javascript,jquery,ajax,playframework,Javascript,Jquery,Ajax,Playframework,我在应用程序中使用PlayFramework2.2,并使用大量ajax加载内容 有时,当我通过ajax加载内容时,我想绑定/更改一个事件处理程序,比如刚刚检索的锚点的单击处理程序,为此,我总是放置一个如下的块: <script type="text/javascript"> $('#anchorId').click(function(e){ object.removeAdmin('someId'); //object is based on a prototy

我在应用程序中使用PlayFramework2.2,并使用大量ajax加载内容

有时,当我通过ajax加载内容时,我想绑定/更改一个事件处理程序,比如刚刚检索的锚点的单击处理程序,为此,我总是放置一个如下的块:

<script type="text/javascript">
    $('#anchorId').click(function(e){
        object.removeAdmin('someId'); //object is based on a prototype
    });
</script>
<a href="#" data-trigger="showMore">Show More</a>

$('#anchorId')。单击(函数(e){
object.removeAdmin('someId');//对象基于原型
});
我的问题是:在html中编写javascript块是一个很好的实践吗??最好在执行后将其移除??是否有不同的方式将处理程序绑定到对象

我知道这不坏,但也许有更好的方法

对不起,如果我的范围太广或模糊,但我一直在寻找我的问题的答案,但没有成功


谢谢

最好将处理程序放在容器上,并设置锚点的数据属性以运行特定于元素的代码

一些伪代码:

$(document.body).on("click"=function(e){
  var eventToTrigger = e.target.getAttribute("data-trigger");
  if(eventToTrigger){
    someMediator.trigger(eventToTrigger,{
      eventSource:e
    });
  }
});
然后,您的锚可以如下所示:

<script type="text/javascript">
    $('#anchorId').click(function(e){
        object.removeAdmin('someId'); //object is based on a prototype
    });
</script>
<a href="#" data-trigger="showMore">Show More</a>

我发现我认为不在每个检索到的html中编写javascript块是正确的方法。 如果你遇到同样的疑问,我将遵循本教程作为介绍