jQuery脚本不能在wordpress中工作

时间:2015-09-01 15:49:06

标签: php jquery wordpress

我有一些不同的jQuery脚本,我正在使用wordpress,所有其他工作正常,除了这一个:
更新以添加小提琴:
jsfiddle.net/zq43e9ed
只有选项A和选项B可以一起选择,如果选择选项AA或BB,则取消选择A和B。这在这个小提琴上正常工作,但是当我在wordpress上实现时

以下是我在wordpress的ajs文件中使用的代码:

add_action( 'wp_enqueue_scripts', 'add_my_script' );
function add_my_script() {
wp_enqueue_script(
    'customize-two-select',
    get_template_directory_uri() . '/js/customize-two-select.js',
    array('jquery')
);
}

我已经包含在functions.php中:

WebSocket connection to 'ws://client.example.com/socket.io/?EIO=3&transport=websocket&sid=e31aZ7dQdUI-nxvTAAAN' failed: Error during WebSocket handshake: Unexpected response code: 400

2 个答案:

答案 0 :(得分:1)

如果你的jquery与其他jquery冲突,你可以使用这种技术。

<script type="text/javascript">var jQuery_1_10_2 = $.noConflict(true);</script>

<script>
jQuery_1_10_2("#silhouette-form").on("click", ".selection", function () {
var $this = $(this);
var all = $("#silhouette-form").find(".selection").not($this);
var val = $this.val();

if ($this.prop("checked") === true) {
    all.filter(function () {
        return $(this).val() != val;
    }).prop("checked", false);
} 
});
</script>

答案 1 :(得分:1)

如果您使用WordPress附带的默认jQuery(包含在noConflict模式中),则无法以这种方式使用$快捷方式。您需要在任何地方使用jQuery,或使用包装器为其分配$快捷方式:

(function($){
    $("#silhouette-form").on("click", ".selection", function () {
        var $this = $(this);
        var all = $("#silhouette-form").find(".selection").not($this);
        var val = $this.val();

        if ($this.prop("checked") === true) {
            all.filter(function () {
                return $(this).val() != val;
            }).prop("checked", false);
        }
    });
})(jQuery);

您可以在WordPress in the Codex中阅读有关使用jQuery的更多信息。