javascript - 在带有 Ajax 的 javascript 中使用 'this'

标签 javascript jquery

我从 Ajax 调用这个 php 文件,并在此 php 文件中编写所需的 javascript 代码。

<div class="add_people_invite">
    <button class="btn btn-default add_connection" id="right_connection_request" onclick="SentRequestMouseUpRight(event,{{ $peopleMayKnow->id }})">
        <span>My Text</span>
    </button>
</div>

Javascript代码:

<script>
    function SentRequestMouseUpRight(event, user_id) {
        if (event.which == 1) {
            alert();
            $("#right_connection_request span", this).text("My NEW Text");
        }
    }
</script>

javascript 中的警报正在工作,但它不会将文本更改为“我的新文本”,如果我删除 this,然后运行此代码 $("#right_connection_request span").text (“我的新文本”);它改变了文本。

最佳答案

您可以使用event.target代替this关键字。 Here是一个 fiddle 来演示相同的内容。

function SentRequestMouseUpRight(event, user_id) {
  if (event.which == 1) {
    $(event.target).text("My NEW Text");
  }
}

关于javascript - 在带有 Ajax 的 javascript 中使用 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36317221/

相关文章:

javascript - 将原型(prototype)函数绑定(bind)到此的更简洁的方法

javascript - 平滑滚动到 anchor 标记并关注第一个字段表单

jquery .dotdotdot 不工作

javascript - 使用参数创建动画队列

javascript - fadeOut() 父元素回来

javascript - 从网页中的 2 张图片创建新图片

javascript - 检测移动设备、平板电脑和桌面 Javascript

c# - 错误“JavaScript 运行时错误 : Unable to get property 'scrollLeft' of undefined or null reference"while finding scroll position

php - JavaScript 表单验证事件

javascript - jquery:如果第一个选择器返回为空,是否有一种简洁的方法可以有条件地使用第二个选择器?