是否可以在页面的一个特定部分使用一个jquery?

时间:2016-05-20 04:23:09

标签: javascript jquery

很抱歉,如果我的问题太容易了,我只是想学习如何成为一个自我清晰的人,作为一个新手,我发现这个问题最为困难。 嗯,例如,我需要使用:

<script src="/jquery-1.12.3.min.js"></script>
<script>
 my code (sortable funcions)
</script>

这对我来说没问题! 一旦我添加更多&lt;脚本xxxx.js&gt; 我的所有页面冻结......

我的控制台返回:

form:699 Uncaught TypeError: $(...).minicolors is not a function
or
common-scripts.js?1455274914:87 Uncaught TypeError: $(...).niceScroll is not a function
Uncaught TypeError: $(...).sparkline is not a function

所以,这是我的问题:

  • 1)如何解决这个冲突?他们有冲突吗?

  • 2)是否可以运行这个&#34; jquery-1.12.3.min.js&#34;在may页面的一小部分?像:

    <script src="/minicolors.js"></script>
    <script src="/nicescroll.js"></script>
    
        <script src="/jquery-1.12.3.min.js">
               my JS code  (sortable funcions)
        </script>
    
    </script>
    

    JS代码的其余部分(minicolors和nicescroll)

    通过这样做,防止错误?

3 个答案:

答案 0 :(得分:2)

您需要注意加载文件的顺序......

  • 首先加载jquery库,然后休息所有插件都可以通过。

使用此订单

              {

                    LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    LinearLayout review_layout = (LinearLayout) rootMovieView.findViewById(R.id.review_comment);

                    for (ReviewsResult comment : review.getReviewsResults()) {

                        View view = layoutInflater.inflate(R.layout.layout_movie_comments, review_layout, false);

                        TextView tvCommentBy = (TextView) view.findViewById(R.id.tv_comment_by);

                        TextView tvCommentContent = (TextView) view.findViewById(R.id.tv_comment_content);

                        tvCommentContent.setText(comment.getContent());
                        tvCommentBy.setText(comment.getAuthor());

                        review_layout.addView(view);
                    }
                }

关于错误

res>raw

这是因为没有加载jquery库,所以插件也会崩溃(因为它是在Jquery中编写的)。如果你改变顺序,一切都应该没问题

答案 1 :(得分:1)

试试这个

<script src="other_lib.js"></script>
<script src="jquery.js"></script>
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>

https://api.jquery.com/jquery.noconflict/

答案 2 :(得分:0)

我建议您将脚本代码放在$(document).ready(function(){})正文中。这将阻止在完全加载网站之前执行yur脚本。

我假设您在单击按钮或某些<input><select>已更改时要执行某些功能。

因此你可以这样做:

$(document).ready(function(){
    $('#'+yourButtonId).click(function(){
        //do what you want to do when your button was clciked
    });

    $('#'+yourInputOrSelectId).on('change',function(){
        //do whatever you want when the user typed sth in yout input or 
        //selected an item out of your <select>
        myCustomFunction('NewOption');
    });

    function myCustomFunction(argument){
       //do custom things with the argument
       //you can also do things with your elements on the web site
       $('#'+selecId).empty(); //just an example
       $('#'+selectId).append( $('<option/>').val(argument) );
    }
}