Deactivate JS Script in Plugin Shortcode

When shortcodes are evaluated, the header of the site has already been assembled. So if the shortcode wants to enqueue a script it must do so in the footer (by setting the last parameter to wp_enqueue_script to true.

At this point you’re still not too late to prevent the file from actually being included in the footer. Normally, in functions.php you would enqueue or (de)register scripts with the after_setup_theme hook. However, if you look at the order in which actions are executed you would be trying to deregister a script long before it is enqueued.

So, you would have to find a hook that fires after the shortcode has enqueued the script. The logical choice would be wp_footer, like this:

add_action ('wp_footer','wpse240803_deregister_dwqa');
function wpse240803_deregister_dwqa() {
  wp_deregister_script ('dwqa-submit-question');
  }