小编Ami*_*ein的帖子

jQuery - 在表中的<tr>元素上单击事件并获取<td>元素值

我在JSP文件中有以下HTML :

<div class="custList">
   <table class="dataGrid">
      <c:forEach var="cust" items="${custList}">
         <tr>
            <td>${cust.number}</td>
            <td>${cust.description}</td>
            <td>${cust.type}</td>
            <td>${cust.status}</td>
        </tr>
     </c:forEach>
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要能够'click'在每个动态创建的<tr>标签上触发事件,并且还能够从JavaScript函数中访问<td>(点击的<tr>)标签的值.我已经有了这个功能,但遗憾的是它似乎没有起作用.

$(document).ready(function() {
    $("div.custList > table > tr").live('click', function() {
        alert("You clicked my <tr>!");
        //get <td> element values here!!??
    });
});
Run Code Online (Sandbox Code Playgroud)

更新(2016年1月):不推荐使用jQuery.live(如下所示:http://api.jquery.com/live/ )

从jQuery 1.7开始,不推荐使用.live()方法.使用.on()附加事件处理程序.

javascript jquery jquery-selectors

34
推荐指数
5
解决办法
12万
查看次数

在Express NodeJS中调用其他路由中已定义的路由

我正在使用Express在node.js中编写一个Web应用程序.我已经定义了如下路线:

app.get("/firstService/:query", function(req,res){
    //trivial example
    var html = "<html><body></body></html>"; 
    res.end(html)
});
Run Code Online (Sandbox Code Playgroud)

如何从快递中重用该路线?

app.get("/secondService/:query", function(req,res){
    var data = app.call("/firstService/"+query);
    //do something with the data
    res.end(data);
});
Run Code Online (Sandbox Code Playgroud)

我在API文档中找不到任何内容,宁愿不使用像"请求"这样的其他库,因为这看起来很笨拙.我想尽可能保持我的应用程序模块化.思考?

谢谢

node.js express run-middleware

30
推荐指数
2
解决办法
3万
查看次数

如何在React中使用increment运算符

为什么我这样做this.setState({count:this.state.count*2})是有效的,但是当我这样做时:this.setState({count:this.state.count++}) 它不起作用?

为什么,以及如何解决它?

完整代码:

var Hello = React.createClass({
    getInitialState:function(){
    return {count:parseInt(this.props.count)}
  },
    a:function(){
    this.setState({count:this.state.count++})
    console.log(this.state)
  },
  render: function() {
    console.log(this.state)
    return <div onClick={this.a}>Click to increment the counter<b> {this.state.count} </b></div>;
  }
});

ReactDOM.render(
  <Hello count="1" />,
  document.getElementById('container')
);
Run Code Online (Sandbox Code Playgroud)

但是这段代码正在运行:

a:function(){
    this.setState({count:this.state.count*2})
    console.log(this.state)
  },
Run Code Online (Sandbox Code Playgroud)

JSFiddle:https://jsfiddle.net/69z2wepo/55100/

reactjs

24
推荐指数
2
解决办法
5万
查看次数

vuejs如何知道缓存的计算属性的依赖性?

我有这个Vue.js代码:

new Vue({
  data:{
         myValue:'x',
         myOtherValue:'y'
  },
  computed: {
       myComputed: myFunction(){
          return this['my' + 'Value']
       }
  }
})
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,计算属性将被缓存,并且仅依赖于它data.myValue.我的问题是Vue.js缓存系统如何知道只有在myValue更改后再次运行计算函数?

如果我更改myOtherValue变量,该myComputed函数将使用缓存,并且不会再次运行我将调用它.

我想到了几种可行的方法.但Vuejs如何做到这一点?我读过这篇文章:https://vuejs.org/v2/guide/computed.html但没有找到答案.

在这段代码中会发生什么,它将依赖于什么?

const flag=2
new Vue({
  data:{
         myValue:'x',
         myOtherValue:'y'
  },
  computed: {
       myComputed: myFunction(){
          if (flag==1){
              return this['my' + 'Value']
          }
          else
              return this['my' + 'Other' + 'Value']
       }
  }
})
Run Code Online (Sandbox Code Playgroud)

额外奖励:我将很感激我链接到VueJS代码中的相关功能:https://github.com/vuejs/vue

javascript vue.js vuejs2

24
推荐指数
2
解决办法
2497
查看次数

如何使用JSDoc记录函数返回的函数

我正在使用JSDoc进行参数文档.

很清楚如何记录参数类型many_prompts,但是记录它返回的函数的正确方法是什么?

/**
 * @param {Number} - number of times to prompt
 * @return {Function(prompt{Number})} - the returned function
 */
function many_prompts(count) {
  return function(prompt) {
    for(var i=0; i < count; i++) alert(prompt);
  }
}


//Example of use:
var y  =many_prompts(3);
y('Hello World');
Run Code Online (Sandbox Code Playgroud)

javascript jsdoc jsdoc3

22
推荐指数
3
解决办法
1万
查看次数

错误:Node.js MYSQL模块中的握手不活动超时

我正在使用node-mysql和大多数查询.工作.一些查询不起作用.我尝试了每个版本的Node(从0.5 ......)到(5.6.0),我也尝试过(4.0)和(4.1),没有任何帮助.

我试图改变,并没有奏效.我试图将sequence文件更改为:this._idleTimeout = -1;并没有帮助.

我读了这些问题和GitHub,没有任何帮助.

我可以尝试自己修复它,但我需要更多信息.超时在哪里,为什么?什么时候?什么是这种消息?超时来自哪里?

MYSQL_ERROR     { [Error: Handshake inactivity timeout]  
code: 'PROTOCOL_SEQUENCE_TIMEOUT',   fatal: true,   
timeout: 10000 }  
Run Code Online (Sandbox Code Playgroud)

mysql node.js node-mysql

18
推荐指数
3
解决办法
2万
查看次数

如何在React经典`class`组件中使用React钩子?

在这个例子中,我有这个反应类:

class MyDiv extends React.component
   constructor(){
      this.state={sampleState:'hello world'}
   }
   render(){
      return <div>{this.state.sampleState}
   }
}
Run Code Online (Sandbox Code Playgroud)

问题是我是否可以添加React钩子.我知道React-Hooks是React Class风格的替代品.但是如果我想慢慢迁移到React钩子,我可以在Classes中添加有用的钩子吗?

javascript reactjs react-hooks

16
推荐指数
6
解决办法
1万
查看次数

如何在Node.JS中为sequelize.js添加自定义函数?

例如,我有一个客户端模型.我想添加新功能"sendEmail"

该功能需要工作,向一个客户端发送电子邮件,或者一次向多个客户端发送电子邮件?

在哪里定义这些功能?

node.js sequelize.js

15
推荐指数
2
解决办法
1万
查看次数

除一个文件夹外的GIT结帐

我想结帐到其他分支,或以前的提交,但我想保持一个文件夹相同的文件(不签出文件夹).

我希望该文件夹将显示在git status,所以我现在可以将此文件夹添加到索引中.

例如,我有一个文件夹node_modules.我希望文件夹在我的所有提交中(我知道大多数人更喜欢.gitignore node_modules文件夹).但是当我转移到其他提交或检查其他分支时,我希望它git不会触及该node_modules文件夹.

可能吗?

git git-checkout

13
推荐指数
1
解决办法
5543
查看次数

我可以使用socket-io的服务工作者吗?

我想将通知推送到桌面和移动设备.为此我遵循了这篇文章:https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl = en

我有两个问题:

  1. 关闭所有标签后,我可以使用推送通知发送通知吗(Chrome重启?)
  2. 我可以使用socket.io例如io.on('message')而不是GCM?来触发通知吗?

javascript android google-chrome push-notification google-cloud-messaging

12
推荐指数
1
解决办法
3356
查看次数