gpt4 book ai didi

javascript - 如何修复“未定义”错误的 "Uncaught TypeError: Cannot read property ' 滚动高度'

转载 作者:行者123 更新时间:2023-12-02 21:05:29 24 4
gpt4 key购买 nike

我的 Rails 应用程序中 ActionCable 设置的大部分代码都位于一个文件中,该文件似乎仅在我访问以资源命名的页面时才会加载。在这种情况下,当我在消息 #index 上时,scroll_bottom() 会运行,但当我在其他地方时,会在控制台中抛出错误。

我可以看出这与 $(document).on 'turbolinks:load', -> 有关。当我不在 #index 页面上时,如何排除 scroll_bottom()

messages.coffee

App.messages = App.cable.subscriptions.create "MessagesChannel",
connected: ->
console.log 'Connected'

disconnected: ->
console.log 'Disconnected'

received: (data) ->
alert data["mmmm"]

peak: (message, conversation_id) ->
@perform 'speak', message: message, conversation_id: conversation_id

$(document).on 'turbolinks:load', ->
submit_message()
scroll_bottom()

submit_message = () ->
$('#response').on 'keydown', (event) ->
if event.keyCode is 13
message = event.target.value
conversation_id = $("#messages").data("conversation-id")
App.messages.speak(message, conversation_id)
event.target.value = ""
event.preventDefault()

scroll_bottom = () ->
$('#messages').scrollTop($('#messages')[0].scrollHeight)

最佳答案

scroll_bottom = () ->
$('#messages').scrollTop($('#messages')[0].scrollHeight)

将此函数更改为:

scroll_bottom = () => {
const el = $('#messages').scrollTop($('#messages')[0]
if (el) {
return el.scrollHeight;
}
}

这样,如果 el 未定义,则不会抛出错误

关于javascript - 如何修复“未定义”错误的 "Uncaught TypeError: Cannot read property ' 滚动高度',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61235992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com