Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 jQuery手风琴/选项卡-加载内容时调用不同的函数_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript jQuery手风琴/选项卡-加载内容时调用不同的函数

Javascript jQuery手风琴/选项卡-加载内容时调用不同的函数,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有以下标记: <body> <div id="tabs" style="float: left"> <ul> <li><a href="ajax/question_0.html" title="Question 1"><span>Question 1</span></a></li> <li><a h

我有以下标记:

<body>
    <div id="tabs" style="float: left">
        <ul>
            <li><a href="ajax/question_0.html" title="Question 1"><span>Question 1</span></a></li>
            <li><a href="ajax/question_1.html" title="Question 2"><span>Question 2</span></a></li>
            <li><a href="ajax/question_2.html" title="Question 3"><span>Question 3</span></a></li>
            <li><a href="ajax/question_3.html" title="Question 4"><span>Question 4</span></a></li>
            <li><a href="ajax/question_4.html" title="Question 5"><span>Question 5</span></a></li>
            <li><a href="ajax/question_5.html" title="Question 6"><span>Question 6</span></a></li>
        </ul>
        <div id="dynamicContent">
        </div>
    </div>
    <div class="demo-description">
        <p>Click tabs to see answers to Questions</p>
    </div>
</body>
这是正确地加载Ajax文件和所有内容,但每当我尝试执行诸如在JS中计算语句之类的操作时,它似乎会被忽略。是否有任何方法可以做到这一点,以便在加载文件后调用我的函数--需要为每个选项卡使用不同的函数

编辑如下:

切换实际上减轻了我调用不同函数的问题。我没在想

然而,我想要的是在每个选项卡中都有一个空div,用于记录日志(以防我在没有Firebug的web环境中)

我有以下功能:

if (typeof console === 'undefined') {
    var console = { };
    console.log = function(msg) {
        $('#dynamicContent').append(createElement('p', msg));
    };
}
它应该将消息记录到加载到每个片段中的div,但在加载新选项卡时,不会进行任何记录

我的选项卡设置如下:

$('#tabs').tabs({

    select: function(event, ui) {
        log.debug("Loading: ajax/question_" + ui.index + ".html");
    },

    show: function(event, ui) {
        log.debug("Finished Loading: ajax/question_" + ui.index + ".html");
    }
});
我不完全是你想要的,但是有一个你可以使用的,像这样:

$(function() {
  $('#tabs').tabs().bind('tabsselect', function(event, ui) {
    console.log("Loading: ajax/question_" + ui.index + ".html");
    return true;    //Ensure that the tab gets selected
  }).bind('tabsload', function(event, ui) {
    switch(ui.index) {
      case 0:
        //do something for first tab...
        break;
      case 1:
        //do something for second tab...
        break;
      //etc...
    }
  });
);
我对“每个选项卡都需要一个不同的函数”使用了a,但是无论您需要做什么,调用一个外部函数,等等,您都可以在这里这样做。如果您需要在
href
上进行切换,您可以使用锚元素的
ui.tab
,例如,任何最适合的

$(function() {
  $('#tabs').tabs().bind('tabsselect', function(event, ui) {
    console.log("Loading: ajax/question_" + ui.index + ".html");
    return true;    //Ensure that the tab gets selected
  }).bind('tabsload', function(event, ui) {
    switch(ui.index) {
      case 0:
        //do something for first tab...
        break;
      case 1:
        //do something for second tab...
        break;
      //etc...
    }
  });
);